C語言中二維數組的指針的剖析。

第一步:創建數組

int a[3][4] = {
	{0,1,2,3},
	{4,5,6,7},
	{8,9,11,12}
};

第二步:內存模型

在這裏插入圖片描述

第三步:總結觀點

a[0]也可以看成是a[0]+0,是一維數組a[0]的0號元素的首地址,而a[0]+1則是a[0]的1號元素首地址,由此可得出a[i]+j則是一維數組a[i]的j號元素首地址,它等於&a[i][j]。

由a[i]=*(a+i)得a[i]+j=*(a+i)+j。由於*(a+i)+j是二維數組a的i行j列元素的首地址,所以,該元素的值等於*(*(a+i)+j)。

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