Пример указателя на массив в С++

Есть особенность в С++ связанная с тем, что имя массива (без индексов) является указателем на первый элемент массива. Например, если массив создается командой int a[10], то имя массива a является указателем (адресом) на первый элемент массива a[0]. В принципе, адрес этого элемента можно получить и стандартными методами, как для обычной пере­менной с помощью команды & n[0]. Однако профессионалы предпочитают использовать более простой синтаксис, основанный на имени массива. В самой по себе ссылке на первый элемент проку было бы мало, если б не то принципиальное обстоятельство, что элементы массива размещаются в смежных ячейках. Поэтому, зная адрес первого элемента и количество элементов в массиве, получаем доступ ко всему массиву. Хотя доступ мо­жет быть получен и через имя массива и индекс элемента, арифметические операции с адресами выполняются быстрее, по сравнению с индексированием массива. Кроме того, указатель, который ссылается на массив, можно индексировать точно так же, как если бы это было имя массива. Пример использования указателей на массивы приведен ниже.
#include 
using namespace std;
int main(){
int n[10],*p;
p=n;
for(int i=0; i < 10;i++){
 p[i]=10-i;
 cout << *(p+i) << " ";}
cout << "\n";
return 0;
}
Использование в приведенном выше коде указателя р является лишним, поскольку, имя массива само является указателем на первый элемент массива. Допустимым является следующий программный код:
#include 
using namespace std;
int main(){
int n[10];
for(int i=0; i < 10;i++){
 *(n+i)=10-i;
 cout << n[i] << "\n";}
return 0;
}

Оставить комментарий

Вы должны быть авторизованы , чтобы оставить или оценить комментарий.

Онлайн всего: 1
Гостей: 1
Пользователей: 0

STUDLAB Сообщить про опечатку на сайте