C-matriser (med exempel)

I den här handledningen lär du dig att arbeta med matriser. Du lär dig att deklarera, initiera och komma åt element i en matris med hjälp av exempel.

En array är en variabel som kan lagra flera värden. Om du till exempel vill lagra 100 heltal kan du skapa en matris för det.

 int data(100); 

Hur deklarerar jag en matris?

 dataType arrayName (arraySize); 

Till exempel,

 flottörmärke (5);

Här förklarade vi en matris, markering av flytande punkt. Och dess storlek är 5. Det betyder att den kan innehålla 5 flytpunktsvärden.

Det är viktigt att notera att storleken och typen av en matris inte kan ändras när den deklareras.

Åtkomst till Array Elements

Du kan komma åt element i en matris med index.

Antag att du förklarade ett array-märke enligt ovan. Det första elementet är mark (0), det andra elementet är mark (1) och så vidare.

Få nyckeltal :

  • Arrayer har 0 som första index, inte 1. I detta exempel är markering (0) det första elementet.
  • Om storleken på en matris är n, används n-1indexet för att komma åt det sista elementet . I detta exempel markerar du (4)
  • Antag att startadressen mark(0)är 2120d . Sedan adress mark(1)blir 2124d . På samma sätt kommer adressen mark(2)att vara 2128d och så vidare.
    Detta beror på att storleken på a floatär 4 byte.

Hur initierar jag en matris?

Det är möjligt att initiera en matris under deklarationen. Till exempel,

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

Du kan också initialisera en matris som denna.

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

Här har vi inte angett storleken. Men kompilatorn vet att dess storlek är 5 eftersom vi initialiserar den med 5 element.

Här,

 mark (0) är lika med 19 mark (1) är lika med 10 mark (2) är lika med 8 mark (3) är lika med 17 mark (4) är lika med 9

Ändra värde på matriselement

 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; 

Element för inmatning och utmatning

Så här kan du ta in input från användaren och lagra det i ett arrayelement.

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

Så här kan du skriva ut ett enskilt element i en matris.

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

Exempel 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; ) 

Produktion

 Ange 5 heltal: 1 -3 34 0 3 Visar heltal: 1 -3 34 0 3 

Här har vi använt en forslinga för att ta 5 ingångar från användaren och lagra dem i en matris. Sedan, med en annan forslinga, visas dessa element på skärmen.

Exempel 2: Beräkna medelvärde

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

Intressanta artiklar...