c语言node类型_嵌入式开发-C语言高级编程-共同体和typedef

1、共同体

什么是共同体:在C语方中,不同数据类型的数据可以使用共同的存储区域,这种数据类型称为共同体。    结构体中的成员在内存中是平铺的,每个成员都有自己的独立的内存空间,共同体中的成员则    是共用一块内存的,其占用内存的大小是共同体中所占空间最大的成员的类型长度。    一般形式如下:union 共同体名{    成员列表;    }例如:union person{    int age;    int sex;    char name;}这里定义了一个共同体类型有 unino person 字是由三个成员组成,三个成员在内存中使用共同的存储空间。由于共同体中各成员的数据长度往往不同,所以共同体变量在存储时总是按其中成员中数据长度最大的成员占用内存空间。#include #include union person{    int age;    char name[10];};int main(){    union person p;    printf("%ld %ld",sizeof(char),sizeof(int));    printf("%ld ",sizeof(union person));    p.age =10;    strcpy(p.name,"copy");    printf("%#x %s",p.age,p.name);    printf("%p %p ",&p.age,&p.name);    return 0;}1 412 0x79706f63 copy0x7ffdeefe6b6c 0x7ffdeefe6b6c

2、typedef

在C语言中经常在定义结构体类型时使用typedef,例如typedef struct _node_{    int age;    char name[10];    struct _node_ *next;} listnode, *linklist;这里定义了两个新的数据类型 listnode 和linklist.其中listnode等价于数据类型 struct _node_ 而linklist等价于 struct _node_ *#include #include typedef struct  person{    int age;    char name[10];}listperson, *linklist ;int main(){    listperson p1;    linklist p;    p =&p1;    p->age =10;    strcpy(p->name,"copy");    printf("%d %s ",p->age,p->name);    return 0;}
5ea2a0282a034c3eada4f50477308455
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值