c语言数据结构的表示(储存结构)用类型定义(typedef)描述怎样分配空间
答案:2 悬赏:60 手机版
解决时间 2021-03-11 12:45
- 提问者网友:听门外雪花风
- 2021-03-11 02:11
c语言数据结构的表示(储存结构)用类型定义(typedef)描述怎样分配空间
最佳答案
- 五星知识达人网友:玩家
- 2021-03-11 03:09
typdef 定义结构体,所得变量存储结构与结构体是一样的。
typedef stuct stxx{
char i;
int j;
}defxx;
defxx xx;//定义变量
struct styy{
char i;
int j;
}yy;
xx 和yy的存储结构完全一样。
而结构体的存储结构则与你的机器字长,编译器类型和编译的参数设置有关。
如你使用的编译器支持字节对齐,并且你设定了字节对齐,那你定义的变量就是按照字节一个挨着一个,如果你没有设置字节对齐,那每个变量的存储空间就是结构体里面最长的那个成员所占的空间。
typedef stuct stxx{
char i;
int j;
}defxx;
defxx xx;//定义变量
struct styy{
char i;
int j;
}yy;
xx 和yy的存储结构完全一样。
而结构体的存储结构则与你的机器字长,编译器类型和编译的参数设置有关。
如你使用的编译器支持字节对齐,并且你设定了字节对齐,那你定义的变量就是按照字节一个挨着一个,如果你没有设置字节对齐,那每个变量的存储空间就是结构体里面最长的那个成员所占的空间。
全部回答
- 1楼网友:酒醒三更
- 2021-03-11 03:57
定义一个lnode的结构,并且简化成lnode和*linklist
简单来说——typeof是给一个变量类型起一个别名的。那么你一旦typeof struct lnode……lnode,那么以后定义该类型直接就可以:
lnode a不必再struct lnode a了。
同时指针也一样,原先定义指针要:lnode* p;
现在只要linklist p;那么p就是lnode*(结构指针类型)
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯