C++ Указатель на массив
Вы можете пока пропустить эту главу и вернуться к изучению её содержимого после того, как поймёте концепцию указателей в C++.
Если вы уже немного понимаете указатели в C++, то можете начинать изучение этой главы. Имя массива — это константный указатель на первый элемент массива. Поэтому в следующем объявлении:
double exampleAarray[50];
exampleAarrayявляется указателем на &exampleAarraypприсвоитьexampleAarrayадрес первого элемента:
double *p; double exampleAarray[10]; p = exampleAarray;
.
Как только вы сохраните адрес первого элемента в p, вы можете использовать *p, *(p+1), *(p+2) и т. д. для доступа к элементам массива. В следующем примере демонстрируются эти концепции, рассмотренные выше:
Пример
Когда приведенный выше код скомпилирован и выполнен, он выдает следующие результаты:
使用指针的数组值 *(p + 0) : 1000 *(p + 1) : 2 *(p + 2) : 3.4 *(p + 3) : 17 *(p + 4) : 50 使用 exampleAarray 作为地址的数组值 *(exampleAarray + 0) : 1000 *(exampleAarray + 1) : 2 *(exampleAarray + 2) : 3.4 *(exampleAarray + 3) : 17 *(exampleAarray + 4) : 50
В приведенном выше примере p — это указатель на double, что означает, что он может хранить переменную типа double. Как только у нас есть адрес в p,*pвернет значение, хранящееся по соответствующему адресу в p, как показано в примере выше.
Другие расширения