Между указателями и массивами прямая связь. Когда появляется массив, например, int arr[5]
То идентификатор массива art определяется как константный указатель на первый элемент массива, это означает, что имя массива содержит адрес первого элемента
Int *parr;
Parr=arr;
Int I;
Int a[10];
Int *pa=a;
For(i=0;i<10;i++){
Printf(“введите элемент массива”);
Scanf(“%d”, Pa+i);
}
For(i=0;i<10;i++)
Printf(“%d”, *(pa+i));
Динамические переменные удобно использовать, если программе нужно работать с массивом, размер которого заранее неизвестен. Для этого используются такие функции, как malloc и calloc <malloc.h>.
Fp=(float(*)malloc(16))
В круглых скобках задается число выделяемых байт.
Функция malloc возвращает указатель на тип void. Поэтому необходимо выполнять приведение.
Возвращаемое значение функции malloc это значение адреса первого элемента выделенного блока памяти. Функция calloc аналогична, но нужно объявлять 2 аргумента.
Функция calloc обнуляет каждый байт выделенной памяти. И устанавливает ему значение 0.
Функция new.
Указатель = new тип указателя;
P_var=new type
Для массива:
Указатель = new тип [размер];
Int *p_array=new int[5];
Строится на функциях malloc.
Malloc и calloc в случае ошибки возвращает null.