struct st
{int n;
float x;
}*p//这是什么意思
void main()
{
struct st arr[5]={10,4,5,};
p=arr;
printf("%d\n",++p->n);
} 主要问题是 struct st 后面又是指针又是数组 ,不懂
上面的++p->n是什么意思呢,输出结果是什么呀
追答arr[5] = {10,4,5,}似乎不大对劲!因为结构体相当于一维,struct st arr[5] 应 =
{{1, 1.0}, {2, 2.0},}此类形式。。
^--arr[0] ^--arr[1]
-------
++p前缀表达式,返回值为p自增运算后的值,即 p+1,p指向arr,那么p+1指向arr[1]。
arr[1]->n 即为第一维结构体元素的n值,我的例子应该=2,楼主的就不知是何了。。
恩恩,麻烦再帮我说明下:arr[1]->n即为第一维结构体元素的n值 的意思 就好了,谢谢!
追答arr[1] : {2, 2.0} //根据结构体分布
^-n //int n
^--x //float x