问一道C语言的题
麻烦大家帮忙看一下下边这道题,写一下分析的过程(我实在是想不明白这道题了)在C语言中有如下语句:inta[3][2]={1,2,3,4,5,6,},*p[3]p[0]=a...
麻烦大家帮忙看一下下边这道题,写一下分析的过程(我实在是想不明白这道题了)
在C语言中有如下语句:
int a[3][2]={1,2,3,4,5,6,},*p[3]
p[0]=a[1];
则*(p[0]+1)所代表的数组元素是________.(答案:a[1][1]) 展开
在C语言中有如下语句:
int a[3][2]={1,2,3,4,5,6,},*p[3]
p[0]=a[1];
则*(p[0]+1)所代表的数组元素是________.(答案:a[1][1]) 展开
8个回答
展开全部
p[0]=a[1]这个是行坐标,如果只是*(p[0])即为a[1][0]。可是它+1,+1是找列坐标啊,就变成a[1][1]。
追问
也就是说,这个*(p[0]+1)指的是4,对吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在2维数组中a[1]的意思就是数组第二行的首地址,将它赋值给指针数组p[0],而p[0]指向行的指针数组,所以p[0]+1就是a[1][1]的地址,所以*(p[0]+1)就是a[1][1]了,还是不明白的话,看看C语言中将指针的那部分,、、、
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
p[0]=a[1];说明p[0]是指向a[1]的,记录的是a[1]的地址从,那开始,所以是a[1][1])
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-03-19
展开全部
指针数组p的第一个地址指向数组a【1】 则*(p[0]+1)即表示a[1][1])啊 依此*(p[0]+2)表示a[1][2] 这是一种表示方法啊 记住就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
fun
函数中a是静态数据类型static,就是说它初始化后在内存中就有个固定的地址,函数返回后a仍然存在。
每次调用fun函数后a的值都会加2,所以最后的结果就是
246
printf("\n");
//
表示换行
函数中a是静态数据类型static,就是说它初始化后在内存中就有个固定的地址,函数返回后a仍然存在。
每次调用fun函数后a的值都会加2,所以最后的结果就是
246
printf("\n");
//
表示换行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询