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

来源:互联网 发布:2017淘宝卖家用什么app 编辑:程序博客网 时间:2024/05/17 08:23

一、结构

  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
原创粉丝点击