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

Цікаві статті...