定义和使用结构体变量

C语言允许用户自己建立由不同类型数据组成的组合类型的数据结构,称为结构体(structure)。在其他高级语言中成为"记录"(record)。声明结构体类型的一般形式为:
struct 结构体名称{
    成员列表
}

定义结构体有以下3种方式:

1.先声明结构体,在定义结构变量
//声明结构体类型Student
struct Student {
    int num;
    char name[20];
    char sex;
    int age;
};
//定义Student类型的变量
struct Student stu1,stu2;
2.在声明结构体的同时定义变量
//声明结构体类型Student的同时定义struct Student类型的变量stu1,stu2
struct Student {
    int num;
    char name[20];
    char sex;
    int age;
}stu1,stu2;
3.不指定类型名而直接定义结构体变量
//不指定类型名称直接定义结构体变量stu1,stu2
struct {
    int num;
    char name[20];
    char sex;
    int age;
}stu1,stu2;
如果指针p指向一个结构体变量stu,以下三种方法等价 
  1. stu.成员名(如:stu.num)
  2. (*p).成员名(如:(*p).num)
  3. p->成员名(如:p->num)
如果只是结构体变量stu,则只能使用: stu.num


可以用typedef指定新的类型名来代替已有的类型名。声明一个新的类型名称的方法归纳如下:
  1. 先按定义变量的方法写出定义体(如:int i;)
  2. 将变量名换成新类型名(例如:将i换成Count)
  3. 在最前面加typedef(例如:typedef int Count)
  4. 然后可以用新类型名去定义变量
简单的说就是按定义变量的方式,把变量名换成新类型名,并且在最前面加上”typedef“,就声明了新类型名代替原来的类型。
例如:
//利用typedef定义新类型
typedef struct SqList {
    int r[10];
    int length;
}SqList,*SqList;

//在用新类型定义变量
SqList L1,L2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值