Re: Указатели и массивы. Упражнения из страуструпа.
От: rg45 СССР  
Дата: 27.10.11 05:53
Оценка:
Здравствуйте, rp80, Вы писали:

R>
R>//Массив из из семи указателей на целые
R>typedef int* P7Aint[7];

R>//Указатель на массив из 7 указателей на целые
R>typedef int* P7PAint[7];
R>//То же самое, что и предыдущее ибо
R>

R>Все верно?

Нет, не верно. Нужно четко различать три разных типа: 1) массив; 2) указатель на массив; 3) указатель на элемент массива, который получается при приведении массива к указателю:
int* array[7]; //Массив из из семи указателей на целые
int* (*ponter_to_array)[7] = &array; //Указатель на массив из из семи указателей на целые
int** pointer_to_element = array; //Указатель на элемент массива

Надо заметить, что адреса, хранящиеся в указателе на массив и указателе на элемент массива, могут быть одинаковыми (но не обязаны). Но как бы то ни было, никогда не нужно забывать, что это разные типы.
--
Справедливость выше закона. А человечность выше справедливости.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.