C nizovi (s primjerima)

U ovom vodiču naučit ćete raditi s nizovima. Naučit ćete deklarirati, inicijalizirati i pristupati elementima niza uz pomoć primjera.

Niz je varijabla koja može pohraniti više vrijednosti. Na primjer, ako želite pohraniti 100 cijelih brojeva, možete stvoriti niz za to.

 int data(100); 

Kako prijaviti niz?

 dataType arrayName (arraySize); 

Na primjer,

 plutajući znak (5);

Ovdje smo deklarirali niz s oznakom tipa s pomičnom zarezom. A njegova je veličina 5. Znači, može sadržavati 5 vrijednosti s pomičnim zarezom.

Važno je napomenuti da se veličina i vrsta polja ne mogu mijenjati nakon što se deklarira.

Pristupite elementima niza

Elementima niza možete pristupiti indeksima.

Pretpostavimo da ste deklarirali oznaku niza kao gore. Prvi element je oznaka (0), drugi element je oznaka (1) i tako dalje.

Nekoliko ključnih riječi :

  • Nizovi imaju 0 kao prvi indeks, a ne 1. U ovom je primjeru oznaka (0) prvi element.
  • Ako je veličina polja n, za pristup posljednjem elementu koristi se n-1indeks. U ovom primjeru označite (4)
  • Pretpostavimo da je početna adresa mark(0)je 2120d . Tada će adresa mark(1)oporuke biti 2124d . Slično tome, adresa mark(2)će biti 2128d i tako dalje.
    To je zato što je veličina a float4 bajta.

Kako inicijalizirati niz?

Moguće je inicijalizirati niz tijekom deklaracije. Na primjer,

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

Također možete inicijalizirati niz poput ovog.

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

Ovdje nismo naveli veličinu. Međutim, prevoditelj zna da je njegova veličina 5 jer ga inicijaliziramo s 5 elemenata.

Ovdje,

 oznaka (0) jednaka je 19 oznaka (1) je jednaka 10 oznaka (2) je jednaka 8 oznaka (3) je jednaka 17 oznaka (4) je jednaka 9

Promjena vrijednosti elemenata niza

 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; 

Ulazni i izlazni elementi niza

Evo kako možete uzeti ulaz od korisnika i spremiti ga u element niza.

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

Evo kako možete ispisati pojedinačni element niza.

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

Primjer 1: Ulaz / izlaz niza

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

Izlaz

 Unesite 5 cijelih brojeva: 1 -3 34 0 3 Prikazivanje cijelih brojeva: 1 -3 34 0 3 

Ovdje smo koristili forpetlju za preuzimanje 5 ulaza od korisnika i njihovo spremanje u niz. Zatim se pomoću druge forpetlje ovi elementi prikazuju na zaslonu.

Primjer 2: Izračunajte prosjek

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

Zanimljivi članci...