www.whkt.net > struCt st{int x;int*y;}*p;intA[]={1,2},B[]={3,4...

struCt st{int x;int*y;}*p;intA[]={1,2},B[]={3,4...

应该是C吧 A) *pt->y 得到的是一个指针,不是数值 B) pt->x 得到数值10 C) ++pt->x 根据计算顺序,是先得到pt->x然后对这个变量自加一次,再返回结果 D) (pt++)->x,pt++,指向了数组c的第1个元素,返回20

有以下程序struct st{ int x; int*y;} *p;int dt[4]={1,2,3,4};struct st aa[4]={10,&dt[0],20,&dt[1],30,&dt[2],40,&dt[3]};main(){ p=aa; printf("%d\n",++p->x); printf("%d\n",(p)->x); printf("%d\n",++(*p->y));}程序

答案是C 友情提示你一下,你的代码些的很乱,没有一点格式,人家很难看明白

“c[2]” 是一个结构数组 (数组的一种,数组的每个元素都是一个结构) 数组的维数是2 就是有2个结构 每个结构又有2个元素 所以应该是4个元素

我是这样理解的:st a[] = {.}实际上是a[0] = {10,&s[0]},a[1] = {20,&s[1]}.p = a ;是将a的首地址赋值给p 也就是a[0]的地址,此时p指向a[0],p->x为10;(++p)->x 是将指针p 加1之后取x的值,也就是a[1]的x值 为20;*(+

相关搜索:

网站地图

All rights reserved Powered by www.whkt.net

copyright ©right 2010-2021。
www.whkt.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com