首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

构造体指针答疑

2012-09-05 
结构体指针答疑C/C++ code#includestdio.hstruct SC{int aint bint c}struct SD{int aint bint c

结构体指针答疑

C/C++ code
#include<stdio.h>struct SC{    int a;    int b;    int c;};struct SD{    int a;    int b;    int c;    int d;};int main(void){    struct SC c1[] = {{3},{4},{5},{6}};    struct SD *c2 = (struct SD*)c1 + 1;   //这句看不懂了  帮忙解答下疑问。  经过运行这句,SD变成什么了?     printf("%d %d %d %d\n",c2->a,c2->b,c2->c,c2->d);    return 0;}




[解决办法]
错误的代码,不要理会.

看C primer,其他国外的书.
不要看垃圾书.
[解决办法]
struct SC c1[] 里面是这样的 3,0,0,4,0,0,5,0,0,6,0,0
struct SC 只有3个元素而struct SD有4个元素
强制转换后再加1 指针跳过4个元素只想4后面的0 
得出的结果应该是
0,0,5,0
自己可以验证一下

热点排行