Работа с массивами в языке Си: коротко

Подробно Коротко Ошибки Памятка по методам поиска ошибок

Статические массивы

Объявление:
type name[constant];
Пример:
#define SIZE 1000
double array[SIZE];
Объявление с инициализацией:
double array[] = {0.1, 2, 3};
int len = sizeof(array)/sizeof(arr[0]);

Динамические массивы

Объявление:
type *name;
Выделение памяти:
#include <stdlib.h>
int len = 1024;
double *array = (double *)malloc(len * sizeof(double));
Освобождение памяти:
free(array);

Примеры прототипов функций:

void do_something_with_an_array(double *arr, int len);
int return_some_dynamic_array(double **arr, int *len);
Вызов функции:
double array[] = {1, 2, 3};
int len = 3;

do_something_with_an_array(array, len);