C语言结构体

结构体是一种构造数据类型(也被称为复杂数据类型或聚合数据类型),有若干个不同类型的变量(数据)组成。每个变量都是结构体的成员,每个成员可以是基础数据类型,也可以是构造类型

结构体声明不会分配空间,结构体类型声明只是说明一种数据类型,并不是变量定义

结构体定义:

结构体是用来存放不同类型的数据的。定义结构体的一般形式为:

struct 结构体名{

结构体所包含的变量或数组

};


实例

struct stu

{

char *name;//名字

int  num;//学号

int  age;//年龄

char *group;//所在小组

float score;//成绩

};

stu 为结构体名,它包含了 5 个成员,分别是 name、num、age、group、score。结构体成员的定义方式与变量和数组的定义方式相同,只是不能初始化。

注意大括号后面的分号;不能少,这是一条完整的语句。

结构体也是一种数据类型,它由程序员自己定义,可以包含多个其他类型的数据。

成员的获取和赋值:

在C语言中,使用点号.来获取结构体中的一个成员,一般格式为:结构变量名.成员名

例如:

stu1.name;  //第一个学生的姓名

stu2.score;  //第二个学生的成绩

获取成员后,就可以对该成员进行赋值了,例如:

stu1.name = "Tom";

stu2.score = 90.5;

完整示例:

struct stu {//stu  结构体名字

char *name;//名字

int  num;//学号

int  age;//年龄

char group;//所在小组

float score;//成绩

}stu1,stu2;//stu1,stu2是结构体变量

stu1.name = "Tom";

stu1.num = 123456789;

stu1.age = 15;

stu2.group = 'A';

stu2.score = 999.12345;

printf("%s的学号是%d,年龄%d,在%s组,总成绩是%.2f!",stu1.name,stu1.num,stu1.age,stu2.group,stu2.score);

运行结果:Tom的学号是123456789,年龄15,在A组,总成绩是999.12!

你可能感兴趣的:(C语言结构体)