Re: Адрес указателя на первый элемент массива
От: Bell Россия  
Дата: 05.05.08 11:02
Оценка: 3 (1) +1
Здравствуйте, Neavirc, Вы писали:

N>  int i[] = { 1, 2, 3 };
N>  cout << i << endl;


Здесь неявно выполняется стандартное преобразование array to pointer conversion, результатом которого является указатель на первый элемент массива.

N>  cout << &i << endl;


Здесь преобразование array to pointer conversion не выполняется, а берется адрес объекта "массив". Начало объекта "массив" совпадает с началом первого элемента массива, поэтому получаются одинаковые значения.

ЗЫ
Чтобы убедится, что ты работаешь с разными сущностями, попробуй такой пример:


int main()
{
  int i[] = { 1, 2, 3 };
  cout << i << '\t' << i+1 << endl;                               
  cout << &i << '\t' << &i+1 << endl;
  cout << endl;

  return 0;
}
Любите книгу — источник знаний (с) М.Горький
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.