Нет, это не очень хорошая идея.Указатель может указывать только на одну переменную, хотя это часто первый элемент массива.p = a;
- указатель на первый элемент в массиве a
и только на этот.Указатель сам по себе не может знать, есть ли еще действительные данные после адреса, на который он в данный момент указывает.
Например, не имеет смысла писать такую функцию, как void print_array(int* p)
, поскольку эта функция не будет знать размер массива, поскольку p
указывает только на первый элемент.Мы предпочли бы написать что-то вроде void print_array(int* p, int size)
Расширенный раздел (игнорировать, если новичок): указатель на «много int» скорее будет более экзотической функцией, называемой «указатель массива», такой как int (*)[3] = &a;
.Вы можете думать об этом как о «указателе на весь массив», а не только на первый элемент.