Автор: cheops (21.11.2011 в 15:48)
Тут вот какая штука, на самом деле в C, а вслед за ним и в C++ указатели и массивы очень связаны, точнее массивы - это и есть указатели, только записанные в более удобной форме. Однако, если вспомнить, что указатель хранит адрес, то достаточно прибавить к нему единицу и можно получить следующий элемент массива
#include <iostream>
using namespace std;
int main()
{
int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
for(int i = 0; i < 10; i++)
{
cout << *(arr + i) << endl;
}
return 0;
} |
причем указатели автоматически прибавляют то количество байт, которое находится в типе, например, для int - это 4 байт, для double - 8. Таким образом обратиться к 5 элементу массива можно при помощи конструкции *(arr + 4), где arr - имя массива (читай указатель).