c语言中*(*a+1)什么意思
int a[3][4]={{1,3,5,7},{2,4,6,8}};*(*a+1)的值为?
*后只能是指针变量,不能是常数。
追问答案是3,*a是第一个的地址
追答数组名本身就是数组首地址,*a是第一个元素。
为什么
追答因为二维数组的*a就是a[0],而a[0]是第一行这个一维数组的首地址它指向1,也就是*a指向1;*a+1就是a[0]+1,既然a[0]是第一行第一个元素的地址,那么a[0]+1就是第二个元素的地址,也就是*a+1是第二个元素的地址;那么,取这个地址的内容*(*a+1)自然是第二个元素的值3了……