用sizeof函数求出来的结构体名字的长度和结构体变量的长度有什么区别?
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/22 13:09:55
用sizeof函数求出来的结构体名字的长度和结构体变量的长度有什么区别?
定义了一个结构体node,
struct node
{
int data;
struct node *next;
};
再定义一个结构体变量lnode
struct node lnode;
我发觉 sizeof(node)和sizeof(lnode)是有区别的,他们的区别在哪里呢?
定义了一个结构体node,
struct node
{
int data;
struct node *next;
};
再定义一个结构体变量lnode
struct node lnode;
我发觉 sizeof(node)和sizeof(lnode)是有区别的,他们的区别在哪里呢?
#include
struct node
{
int data;
struct node *next;
};
struct node lnode;
int main()
{
printf("struct node size = %d\n",sizeof(struct node));
printf("node size = %d\n",sizeof(node));
printf("lnode size = %d\n",sizeof(lnode));
return 0;
}
输出:
struct node size = 8
node size = 8
lnode size = 8
Press any key to continue
这是VC++ 6.0的编译结果
--------------------------------------
在gcc里面,编译失败:sizeof(node);是不允许的,必须是sizeof(struct node).
删除这一行之后运行结果:
struct node size = 8
lnode size = 8
是一样的.
--------------------------------------
在Turbo C里面,也是编译失败,原因同上:
错误 noname.c 14: 未定义的符号'node'在 main 函数中
删除这一行之后运行结果:
struct node size = 4
lnode size = 4
也是一样的.
-----------------------------------------------------
应该是一样的才对.
楼主把你的程序和编译器版本发出来看看.
struct node
{
int data;
struct node *next;
};
struct node lnode;
int main()
{
printf("struct node size = %d\n",sizeof(struct node));
printf("node size = %d\n",sizeof(node));
printf("lnode size = %d\n",sizeof(lnode));
return 0;
}
输出:
struct node size = 8
node size = 8
lnode size = 8
Press any key to continue
这是VC++ 6.0的编译结果
--------------------------------------
在gcc里面,编译失败:sizeof(node);是不允许的,必须是sizeof(struct node).
删除这一行之后运行结果:
struct node size = 8
lnode size = 8
是一样的.
--------------------------------------
在Turbo C里面,也是编译失败,原因同上:
错误 noname.c 14: 未定义的符号'node'在 main 函数中
删除这一行之后运行结果:
struct node size = 4
lnode size = 4
也是一样的.
-----------------------------------------------------
应该是一样的才对.
楼主把你的程序和编译器版本发出来看看.
用sizeof函数求出来的结构体名字的长度和结构体变量的长度有什么区别?
建筑上结构长与实际长有什么区别?结构长是按图纸来计算的长度吗
桥梁的结构长度和桥梁长度具体怎么计算?
顺序表结构体定义变量int length后L->length为什么就是它的长度啊?
共振结构和同分异构体的结构有什么区别阿?
函数参数的副本和临时变量有什么区别?
中西方名字的结构有什么不同?
美标闸阀Z41H-150LB-40“的结构长度什么标准里有,是多少.
在定义结构体时,结构体里含有该结构体类型的变量,
蝗虫身体的大小可以用测量什么长度和什么长度来表示
房屋的框架结构和砖混结构有什么区别
艾滋病和大肠杆菌噬菌体的结构有什么区别