Ц низови (са примерима)

У овом упутству научићете да радите са низовима. Научићете да декларишете, иницијализујете и приступате елементима низа уз помоћ примера.

Низ је променљива која може да ускладишти више вредности. На пример, ако желите да сачувате 100 целих бројева, можете да креирате низ за то.

 int data(100); 

Како пријавити низ?

 датаТипе арраиНаме (арраиСизе); 

На пример,

 плутајући знак (5);

Овде смо прогласили низ, ознаку, типа с покретном зарезом. А његова величина је 5. Значи, може да садржи 5 вредности са покретном зарезом.

Важно је напоменути да се величина и тип низа не могу мењати након што се декларише.

Приступите елементима низа

Елементима низа можете приступити индексима.

Претпоставимо да сте означили низ низа као горе. Први елемент је ознака (0), други елемент је ознака (1) и тако даље.

Неколико кључних речи :

  • Низови имају 0 као први индекс, а не 1. У овом примеру, ознака (0) је први елемент.
  • Ако је величина низа н, за приступ последњем елементу n-1користи се индекс. У овом примеру означите (4)
  • Претпоставимо да је почетна адреса mark(0)је 2120д . Тада ће адреса тестаmark(1) бити 2124д . Слично томе, адреса mark(2)ће бити 2128д и тако даље.
    То је зато што је величина а float4 бајта.

Како иницијализовати низ?

Могуће је иницијализовати низ током декларације. На пример,

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

Такође можете иницијализовати низ попут овог.

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

Овде нисмо навели величину. Међутим, компајлер зна да је његова величина 5 јер је иницијализујемо са 5 елемената.

Ево,

 оцена (0) је једнака 19 оцена (1) је једнака 10 оцена (2) је једнако 8 оцена (3) је једнако 17 оцена (4) је једнако 9

Промена вредности елемената низа

 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; 

Улазни и излазни елементи низа

Ево како можете да преузмете унос од корисника и сачувате га у елементу низа.

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

Ево како можете да одштампате појединачни елемент низа.

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

Пример 1: Улаз / излаз низа

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

Оутпут

 Унесите 5 целих бројева: 1 -3 34 0 3 Приказивање целих бројева: 1 -3 34 0 3 

Овде смо користили forпетљу да од корисника узмемо 5 улаза и сачувамо их у низу. Затим се помоћу друге forпетље ови елементи приказују на екрану.

Пример 2: Израчунати просек

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

Занимљиви Чланци...