📤11. Организация одномерных массивов. Статическое и динамическое выделение памяти под массив.

Передача массива в функцию

Массив — это непрерывный участок памяти, содержащий последовательность объектов одинакового типа, обозначаемый одним именем.

Размер массива - количество элементов массива. Размер элемента - количество байт, занимаемых одним элементом массива. Длина массива - количество байт, отводимое в памяти для хранения всех элементов массива.

Выделение памяти

Статически:

Объявление массива из 10 элементов int a[10];

Объявление массива из 10 элементов, равных нулю int b[10] = {0};

Объявление массива и заполнение от 1 до 10:int c[] = {1,2,3,4,5,6,7,8,9,10};

Происходит при запуске программы.

Динамически:

В C (Си) нет динамических массивов, но их можно реализовать через библиотеки работы с динамической памятью.

double* array = (double*) malloc(2 * sizeof(double));
if (array != NULL) {
        array[0] = 1;
        array[1] = 2;
        printf("Array: %d %d", array[0], array[1]);
 
       free(array);
}

Передача массивов в функции

Особенность передачи массивов в функции в языке Си в том, что передается не сам массив, а адрес массива, который хранится в указателе на его первый элемент.

void some_function(int array[]);

void some_function(int *array);

Last updated