C语言结构体(3) 结构体定义变量及初始化

       当我们定义了结构体类型之后,可以使用结构体类型来定义变量,定义变量的格式的方式与基本数据类型定义变量一样。假设我们定义了如下的结构体类型:

//定义结构体类型

struct reader

{

    //定义结构体的成员;

    char name[32];

    int age;

    int number;

};

       我们可以用该结构体类型来定义变量,如下:

struct reader r1; //定义结构体变量

       那么,我们可以在定义结构体变量的时候,对其进行初始化,如下:

//定义结构体变量, 并初始化;

struct reader r1 = {"www123", 100, 199};

       完整的测试例子如下:

       程序运行结果如下:

       可以看到,我们在定义变量r1的时候,在后面接着赋值运算符“=”,然后,接着需要赋值的数据。在大括号中存放赋值的数据,每个数据之间是有逗号“,”分隔开。

       我们还可以在定义结构体类型的时候就定义变量,同时对其进行初始化,如下:

//定义结构体类型

struct reader

{

    //定义结构体的成员;

    char name[32];

    int age;

    int number;

}r1, r2;

       此时,在定义struct reader结构体类型的时候,同时定义了变量r1和r2。而且,可以在定义变量的时候初始化,如下:

//定义结构体类型

//定义结构体类型

struct reader

{

    //定义结构体的成员;

    char name[32];

    int age;

    int number;

}r1 = {"AAABBB", 99, 886}, r2 = {"www123", 100, 199};

       此时,定义struct reader结构体类型的时候,定义了变量r1和r2,而且,给变量r2初始化数据。程序测试代码如下:

       程序运行结果如下:

       可以看到,我们在定义sruct reader结构体类型的时候,定义了变量r1和r2,并且对它们进行了初始化。

       在定义结构体类型的过程中,我们可以省略“结构体类型名”,但是,这样定义的结构体类型就没有名称了,只能够在定义结构体类型的时候定义变量。例如:

//定义结构体类型

struct

{

    //定义结构体的成员;

    char name[32];

    int age;

    int number;

}r1, r2 = {"www123", 100, 199};

       此时,定义了一个结构体类型,但是,该结构体类型没有名称,所以,只能够在定义结构体的时候,定义变量。可以在定义变量的时候进行初始化。这种结构体定义类型的方式不是很推荐使用,我们只需要知道有这样的定义方式就可以了。在写代码的时候,我们都更应该给每个变量有一个明确、准确的类型名称。可以通过类型名称和变量名称,都可以知道定义这个类型和变量的一样。这样的代码才是优秀的代码。

更多的交流可以访问:www.mylinux.vip   加QQ:1523520001,微信:13926572996,备注:linux编程;
学习、分享更多的linux C/C++ 编程知识。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章