C Arrays (med eksempler)

I denne opplæringen lærer du å jobbe med arrays. Du vil lære å erklære, initialisere og få tilgang til elementer i en matrise ved hjelp av eksempler.

En matrise er en variabel som kan lagre flere verdier. Hvis du for eksempel vil lagre 100 heltall, kan du opprette en matrise for det.

 int data(100); 

Hvordan deklarere en matrise?

 dataType arrayName (arraySize); 

For eksempel,

 flottørmerke (5);

Her erklærte vi en matrise, merke, av flytende punkt-typen. Og størrelsen er 5. Det betyr at den kan inneholde 5 flytende punktverdier.

Det er viktig å merke seg at størrelsen og typen på en matrise ikke kan endres når den er erklært.

Få tilgang til Array Elements

Du kan få tilgang til elementer i en matrise etter indekser.

Anta at du erklærte et array-merke som ovenfor. Det første elementet er merke (0), det andre elementet er merke (1) og så videre.

Få hovedtips :

  • Arrays har 0 som første indeks, ikke 1. I dette eksemplet er markering (0) det første elementet.
  • Hvis størrelsen på en matrise er n, n-1brukes indeksen for å få tilgang til det siste elementet . I dette eksemplet merker du (4)
  • Anta at startadressen til mark(0)er 2120d . Deretter adressen til mark(1)vil være 2124d . På samme måte vil adressen mark(2)være 2128d og så videre.
    Dette er fordi størrelsen på a floater 4 byte.

Hvordan initialisere en matrise?

Det er mulig å initialisere en matrise under erklæringen. For eksempel,

 int mark(5) = (19, 10, 8, 17, 9);

Du kan også initialisere en matrise som dette.

 int mark() = (19, 10, 8, 17, 9);

Her har vi ikke spesifisert størrelsen. Imidlertid vet kompilatoren at størrelsen er 5 da vi initialiserer den med 5 elementer.

Her,

 merke (0) er lik 19 merke (1) er lik 10 merke (2) er lik 8 merke (3) er lik 17 merke (4) er lik 9

Endre verdi på matriseelementer

 int mark(5) = (19, 10, 8, 17, 9) // make the value of the third element to -1 mark(2) = -1; // make the value of the fifth element to 0 mark(4) = 0; 

Input and Output Array Elements

Slik kan du ta input fra brukeren og lagre det i et array-element.

 // take input and store it in the 3rd element scanf("%d", &mark(2)); // take input and store it in the ith element scanf("%d", &mark(i-1)); 

Slik kan du skrive ut et enkelt element i en matrise.

 // print the first element of the array printf("%d", mark(0)); // print the third element of the array printf("%d", mark(2)); // print ith element of the array printf("%d", mark(i-1)); 

Eksempel 1: Array Input / Output

 // Program to take 5 values from the user and store them in an array // Print the elements stored in the array #include int main() ( int values(5); printf("Enter 5 integers: "); // taking input and storing it in an array for(int i = 0; i < 5; ++i) ( scanf("%d", &values(i)); ) printf("Displaying integers: "); // printing elements of an array for(int i = 0; i < 5; ++i) ( printf("%d", values(i)); ) return 0; ) 

Produksjon

 Skriv inn 5 heltall: 1 -3 34 0 3 Viser heltall: 1 -3 34 0 3 

Her har vi brukt en forløkke for å ta 5 innganger fra brukeren og lagre dem i en matrise. Ved hjelp av en annen forsløyfe vises disse elementene på skjermen.

Eksempel 2: Beregn gjennomsnitt

 // Program to find the average of n numbers using arrays #include int main() ( int marks(10), i, n, sum = 0, average; printf("Enter number of elements: "); scanf("%d", &n); for(i=0; i  

Output

 Enter n: 5 Enter number1: 45 Enter number2: 35 Enter number3: 38 Enter number4: 31 Enter number5: 49 Average = 39 

Here, we have computed the average of n numbers entered by the user.

Access elements out of its bound!

Suppose you declared an array of 10 elements. Let's say,

 int testArray(10);

You can access the array elements from testArray(0) to testArray(9).

Now let's say if you try to access testArray(12). The element is not available. This may cause unexpected output (undefined behavior). Sometimes you might get an error and some other time your program may run correctly.

Hence, you should never access elements of an array outside of its bound.

Multidimensional arrays

In this tutorial, you learned about arrays. These arrays are called one-dimensional arrays.

In the next tutorial, you will learn about multidimensional arrays (array of an array).

Interessante artikler...