C Arrays (med eksempler)

I denne vejledning lærer du at arbejde med arrays. Du lærer at erklære, initialisere og få adgang til elementer i en matrix ved hjælp af eksempler.

En matrix er en variabel, der kan gemme flere værdier. For eksempel, hvis du vil gemme 100 heltal, kan du oprette en matrix til det.

 int data(100); 

Hvordan erklæres en matrix?

 dataType arrayName (arraySize); 

For eksempel,

 flydemark (5);

Her erklærede vi en matrix, mark, af typen med flydende punkt. Og dens størrelse er 5. Det betyder, at den kan indeholde 5 flydende punktværdier.

Det er vigtigt at bemærke, at størrelsen og typen af ​​en matrix ikke kan ændres, når den er erklæret.

Adgang til Array Elements

Du kan få adgang til elementer i en matrix efter indekser.

Antag at du erklærede et array-mærke som ovenfor. Det første element er mærke (0), det andet element er mærke (1) og så videre.

Få hovedtegn :

  • Arrays har 0 som det første indeks, ikke 1. I dette eksempel er mark (0) det første element.
  • Hvis størrelsen på en matrix er n, n-1bruges indekset for at få adgang til det sidste element . I dette eksempel skal du markere (4)
  • Antag, at startadressen til mark(0)er 2120d . Derefter vil adressen mark(1)være 2124d . På samme måde vil adressen mark(2)være 2128d og så videre.
    Dette skyldes, at størrelsen på a floater 4 bytes.

Hvordan initialiseres et array?

Det er muligt at initialisere en matrix under erklæringen. For eksempel,

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

Du kan også initialisere et array som dette.

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

Her har vi ikke angivet størrelsen. Imidlertid ved compileren, at dens størrelse er 5, da vi initialiserer den med 5 elementer.

Her,

 mark (0) er lig med 19 mark (1) er lig med 10 mark (2) er lig med 8 mark (3) er lig med 17 mark (4) er lig med 9

Skift værdi af matrixelementer

 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; 

Elementer til input- og outputarray

Sådan kan du tage input fra brugeren og gemme 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)); 

Her er hvordan du kan udskrive et individuelt element i en matrix.

 // 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: Arrayinput / -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; ) 

Produktion

 Indtast 5 heltal: 1 -3 34 0 3 Visning af heltal: 1 -3 34 0 3 

Her har vi brugt en forløkke til at tage 5 input fra brugeren og gemme dem i en matrix. Derefter forvises disse elementer ved hjælp af en anden sløjfe på skærmen.

Eksempel 2: Beregn gennemsnit

 // 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...