C масиви (с примери)

В този урок ще се научите да работите с масиви. Ще се научите да декларирате, инициализирате и осъществявате достъп до елементи на масив с помощта на примери.

Масивът е променлива, която може да съхранява множество стойности. Например, ако искате да съхраните 100 цели числа, можете да създадете масив за него.

 int data(100); 

Как да декларирам масив?

 dataType arrayName (arraySize); 

Например,

 плаващ знак (5);

Тук декларирахме масив, марка от тип с плаваща запетая. И размерът му е 5. Значение, той може да побере 5 стойности с плаваща запетая.

Важно е да се отбележи, че размерът и видът на масив не могат да се променят, след като той бъде деклариран.

Достъп до масивни елементи

Можете да получите достъп до елементи на масив по индекси.

Да предположим, че сте декларирали знак за масив, както по-горе. Първият елемент е марка (0), вторият елемент е марка (1) и т.н.

Няколко основни бележки :

  • Масивите имат 0 като първи индекс, а не 1. В този пример, марката (0) е първият елемент.
  • Ако размерът на масив е n, за достъп до последния елемент n-1се използва индексът. В този пример маркирайте (4)
  • Да предположим, че началният адрес на mark(0)е 2120d . Тогава адресът на mark(1)завещанието ще бъде 2124d . По същия начин адресът mark(2)ще бъде 2128d и т.н.
    Това е така, защото размерът на a floatе 4 байта.

Как да инициализирам масив?

Възможно е да се инициализира масив по време на декларация. Например,

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

Интересни статии...