C语言入门----结构与联合

一、结构

  1. 结构类型的定义
    程序员可以使用结构自定义类型,定义格式:

    struct 结构名
    {
        成员表列
    }变量名表列;

    注意:定义结构时不要忘了最后的分号。
    “结构名”和“变量名表列”可省略,初学者在使用结构时,一般可省略后面的变量名列以便于理解。
    如:

    struct student
    {
        char name[20];/*姓名*/
        char sex[3];/*性别*/
        int age;/*年龄*/
    }

定义了一个结构student,中间是此结构的3个成员变量,它们不可以赋初值,因为结构是一种类型,只有在定义此结构类型的变量时才可赋值,最后的分号不可少。
2. 结构变量的定义和使用
定义格式:
struct 结构名 变量名;
如:
struct student stu;
此处的stu就是一个student类型的变量,可以在定义的时候初始化:
struct student stu={"张三","男",23};
也可以在定义结构的时候定义结构变量并赋值,如:

struct student
{
    char name[20];/*姓名*/
    char sex[3];/*性别*/
    int age;/*年龄*/
}stu={"张三","男",23};

结构变量的初始化必须根据成员变量的类型逐个赋值。

结构变量不能直接引用,必须使用 . 号对结构中的成员变量进行操作,如:

stu.age=18;/*赋值*/
printf("%d",stu.age);/*打印*/

二、联合

对于联合类型的变量,只能使用其中一个成员变量,并且只有最后一次设置的成员变量有效。
联合的定义格式与结构差不多,只是把struct改成union。

  1. 只能对联合的第一个成员进行初始化。
  2. 联合变量的地址和它的各成员都是同一地址。
  3. 联合和结构之间可以嵌套定义。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值