比如定义一个二维数组 int a[2][3]既然数组名a是数组的首元素地址, 那么为什么*a也是
比如定义一个二维数组inta[2][3]既然数组名a是数组的首元素地址,那么为什么*a也是数组的首元素地址呢?...
比如定义一个二维数组 int a[2][3]既然数组名a是数组的首元素地址, 那么为什么*a也是数组的首元素地址呢?
展开
2个回答
展开全部
你的理解错了,虽然在你的所说的数组里,a和*a确实都是地址,但是两者是有区别的。
1、首先说a,这里的a将你的二维数组数组看作两个一维数组:a[0],a[1](将本来每一行的所有元素看作一个整体),a指的是第0行的首地址。
2、*a,这里是指将二维数组看作一个整体,*a指的是这个二维数组的第0行第0列的首地址。
1、首先说a,这里的a将你的二维数组数组看作两个一维数组:a[0],a[1](将本来每一行的所有元素看作一个整体),a指的是第0行的首地址。
2、*a,这里是指将二维数组看作一个整体,*a指的是这个二维数组的第0行第0列的首地址。
追问
谢谢!
为什么取地址a[0]和取地址a[0][0]输出的结果一样呢?a[0]没有自己的地址吗?操作系统没有为a[0]分配空间吗?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询