Polia C (s príkladmi)

V tomto tutoriále sa naučíte pracovať s poľami. Naučíte sa deklarovať, inicializovať a pristupovať k prvkom poľa pomocou príkladov.

Pole je premenná, ktorá dokáže uložiť viac hodnôt. Napríklad, ak chcete uložiť 100 celých čísel, môžete pre ne vytvoriť pole.

 int data(100); 

Ako deklarovať pole?

 dataType arrayName (arraySize); 

Napríklad,

 plaváková značka (5);

Tu sme deklarovali pole, značka, typu s pohyblivou rádovou čiarkou. A jeho veľkosť je 5. To znamená, že môže obsahovať 5 hodnôt s pohyblivou rádovou čiarkou.

Je dôležité si uvedomiť, že veľkosť a typ poľa nemožno po jeho vyhlásení zmeniť.

Prístup k prvkom poľa

K prvkom poľa máte prístup pomocou indexov.

Predpokladajme, že ste deklarovali značku poľa ako je uvedené vyššie. Prvý prvok je značka (0), druhý prvok je značka (1) atď.

Niekoľko kľúčových slov :

  • Polia majú ako prvý index 0, nie 1. V tomto príklade je značka (0) prvým prvkom.
  • Ak je veľkosť poľa n, pre prístup k poslednému prvku sa použije n-1index. V tomto príklade značka (4)
  • Predpokladajme, že začiatočná adresa mark(0)je 2120d . Potom bude adresa mark(1)závetu 2124d . Rovnako tak adresa mark(2)bude 2128d a tak ďalej.
    Je to preto, že veľkosť a floatje 4 bajty.

Ako inicializovať pole?

Počas deklarácie je možné pole inicializovať. Napríklad,

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

Môžete tiež inicializovať pole ako je toto.

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

Tu sme neurčili veľkosť. Kompilátor však vie, že jeho veľkosť je 5, keďže ho inicializujeme pomocou 5 prvkov.

Tu,

 známka (0) sa rovná 19 známka (1) sa rovná 10 známka (2) sa rovná 8 známka (3) sa rovná 17 známka (4) sa rovná 9

Zmena hodnoty prvkov poľa

 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; 

Prvky vstupného a výstupného poľa

Tu je príklad, ako môžete vziať vstup od používateľa a uložiť ho v prvku poľa.

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

Tu je príklad, ako môžete vytlačiť jednotlivý prvok poľa.

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

Príklad 1: Vstup / výstup poľa

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

Výkon

 Zadajte 5 celých čísel: 1 -3 34 0 3 Zobrazenie celých čísel: 1 -3 34 0 3 

Tu sme pomocou forslučky odobrali 5 vstupov od používateľa a uložili ich do poľa. Potom pomocou ďalšej forslučky sa tieto prvky zobrazia na obrazovke.

Príklad 2: Vypočítajte priemer

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

Zaujímavé články...