#include<stdio.h>
int main(void)
{
int arr[5]={1,2,3,4,5};
int (*ptr)[5]=&arr;
printf("ptr=%p\n",ptr); i am not getting the diff btw both statements
printf("*ptr=%p\n",*ptr);
return 0;
}
output:-
ptr=0xbf8f8178
*ptr=0xbf8f8178
Я знаю разыменования указателя на массив, мы получаем имя массива и имя массива обозначает базовый адрес, то в чем разница между обоими ведомостиХотя разыменования указателя на массив я получаю тот же адрес, что и указатель на массив
[Этот мой почтовый ящик] (https://ghost.pileborg.se/2016/08/28/the-difference-between-arrays-decaying-to-pointers-and-pointers-to-arrays/), надо надеяться, немного разобраться. Обратите внимание, что происходит, когда вы используете арифметику указателя на указателях, где разница между двумя указателями станет очень заметной. –
Получил ответ, спасибо – sam1006
Оба являются неопределенным поведением, '% p' требует' void * ' –