int main()
{
int a[] = {1,2,3,4,5};
printf("Base Address of array = %p\n",a);
printf("Address1 = %p \t Address2 = %p\n",a+1,&a+1);
return 0;
}
В принтере оба символа «a» представляют собой базовый адрес массива, но первый увеличивает его на 4 байта, а второй на 20 байтов. Любая конкретная причина?Добавление к целочисленному базовому адресу массива C?
Выход:
Base Address of array 0x7fff2059b240
Address1 = 0x7fff2059b244 Address2 = 0x7fff2059b254
'a' - массив, ** не ** указатель! – Olaf