c语言 为什么*a和a指向同一个地址?*a不是取地址里面的内容吗,就是取值。看不懂

2025-04-04 20:57:08
推荐回答(2个)
回答1:

c语言里二维数组是一维数组所组成的数组
short a[3][4]; 有3个元素,每个元素都是由4个short组成的数组,注意,每个元素都是数组
*a就是a[0], 有上面说的可知,a[0]是个数组,那自然就是个地址了
可以再加一句:
printf("%d\n",**a); // 这个就是a[0][0]了

回答2:

这涉及到多级指针,a是地址,*a取到的是行的首地址,也就是a[0],如果要取值要用二级指针,**a=a[0][0]