Arrays
Een serie is een inzameling van variabelen van het zelfde type. De individuele serieelementen worden geïdentificeerd door een geheelindex. In C begint met de index bij nul en binnen vierkante steunen altijd geschreven.
Wij hebben reeds enige afgemeten series ontmoet die als dit worden verklaard
int results[20];
De series kunnen meer afmetingen hebben, waarbij zij zouden kunnen worden verklaard zoals
int results_2d[20][5];
int results_3d[20][5][3];
Elke index heeft zijn eigen reeks vierkante steunen. Een serie wordt verklaard in de belangrijkste functie, heeft gewoonlijk details van inbegrepen afmetingen. Het is mogelijk om een ander type te gebruiken genoemd een wijzer in plaats van een serie. Dit betekent dat de afmetingen niet onmiddellijk worden bevestigd, maar de ruimte kan zoals gevraagd worden toegewezen. Dit is een geavanceerde techniek die slechts in bepaalde gespecialiseerde programma's wordt vereist.
Als voorbeeld, hier is een eenvoudige functie om de elk van gehelen in één enkele afgemeten serie op te tellen.
int add_array(int array[], int size)
{
int i;
int total = 0;
for(i = 0; i < size; i++)
total += array[i];
return(total);
}
Het daarna gegeven programma zal een koord, tot sommige gegevens daarin toegang hebben, het uit drukken maken. De toegang het die opnieuw wijzers gebruikt, en drukt uit dan het koord. Het zou moeten drukken "hallo!" en "012345678" op verschillende lijnen. Zie de codage van het programma:
#include <stdio.h>
#define STR_LENGTH 10
void main()
{
char Str[STR_LENGTH];
char* pStr;
int i;
Str[0] = 'H';
Str[1] = 'i';
Str[2] = '!';
Str[3] = '\0'; // special end string character NULL
printf("The string in Str is : %s\n", Str);
pStr = &Str[0];
for (i = 0; i < STR_LENGTH; i++)
{
*pStr = '0'+i;
pStr++;
}
Str[STR_LENGTH-1] = '\0';
printf("The string in Str is : %s\n", Str);
}
[] (vierkante steunen) worden gebruikt om de serie te verklaren. De lijn van het programmaklusje Str[STR_LENGTH ]; verklaart een serie van tien karakters. Dit zijn tien individuele karakters, die allen in geheugen in de zelfde plaats worden samengebracht. Zij kunnen allen door onze veranderlijke naamstreptokok samen met a [ n ] worden betreden waar n het elementenaantal is.
Het zou altijd in mening moeten worden gehouden wanneer het spreken over serie dat wanneer C een serie van tien verklaart, de elementen u kunt toegang hebben tot 0 tot 9. Toegang hebbend tot het eerste element beantwoordt aan de toegang tot van het 0de element genummerd zijn. Zo in het geval van Series tel altijd van 0 aan grootte van serie - 1.
Volgende bericht dat wij de brieven "hallo!" zetten in de serie, maar brengen wij dan ' \0 ' aan u waarschijnlijk benieuwd bent wat dit is. "\0" betekent ONGELDIG en vertegenwoordigt het eind van koord. Alle karakterkoorden moeten met dit speciale karakter ' \0 ' beëindigen. Als zij niet, en dan iemand printf op het koord roept, dan zou printf bij de geheugenplaats van uw koord, beginnen en zou blijven druk vertelt het ontmoet ' \0 ' en zo zult u omhoog met een bos van huisvuil aan het eind van uw koord beëindigen. Zorg zo ervoor om uw koorden behoorlijk te eindigen.
|