數組地址和指針(關於指針指向數組和存儲模式)

對於指針和數組看過C語言的書籍有點困惑

int main()
{
int a[5] = {0,1,2,3,4};
int* ptr1 = (int*)(&a + 1);
int* ptr2 = (int*)((int)a+1);
printf("%x,%x\n", ptr1[-1], *ptr2);
return 0;





}
初次看見感覺有點懵,嘗試去理解,最終都不是VS運行的答案,求助於度娘,書籍和各路神仙。解釋如下圖,各位看客老爺們僅供參考,如有不對希望各位不吝賜教。
在這裏插入圖片描述
希望能幫助到一些碰到此種類型題目的朋友,共同探討努力進步。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章