c语言结构体

本文介绍了结构体的基础概念,包括如何定义结构体类型变量、使用结构体变量、使用typedef简化结构体定义的方法,并探讨了结构体类型嵌套及结构体数组的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以前学过的数据类型只能定义简单的数据信息,而像学生的基本信息(比如学号,姓名,出生日期,籍贯,成绩等多个数据构成)的复杂数据,就需要相关的结构体的知识。

1.结构体类型变量的定义和引用。

(1)结构体数据

结构体定义形式:例如:

struct student

{

    char name[9];

    int age;

    float grade;

    .........

}

struct表示定义的是结构体数据类型,Student表示结构体类型名。花括号内一次列举每个成员数据的类型及其名称。结构体的成员数据也称为域。

注意:每个成员数据的类型可以是基本数据类型(如int float....)或者自定义数据类型,但不能重名。

不仅如此,使用上述自定义的Student类型,可以定义Student类型的数组s,用于存放10位学生的数据:

struct Student s[10];

2.结构体变量的使用:

struct Student a={“张三”,18,85,。。。。},b=a,c,*p=&a;

(定义了三个Student类型变量a,b,c,以及一个Student类型的指针变量p)

在访问结构体变量的成员可以通过成员运算符(.)来实现,使用格式为:

结构体变量名.成员名

例如:

strcpy(a.name,“李四”);

a.no=200140214;

再如:

strcpy(p->name,“李四”);

p->no=200140214;


(2)typedef命令使用:

struct Point

{

    float x;

    float y;

}

struct Point p;

为了简化变量p的定义,可以使用c语言提供的类型别名定义语句typedef为结构体类型Point取一个别名POINT,即:

typedef struct Point POINT;


(3)结构体类型嵌套:

即为在一个结构体中再嵌套使用别的结构体;


(4)结构体类型数组:

定义一个结构体变量只能表示一个实体的相关信息,若要表示多个记录则要用结构体数组。结构体数组是结构体和数组结合。

结构体数组和变量的定义形式相似:

struct Student

{

    char name;

    int age;

    char sex;

    .......

}stu[4];

或者:

struct Student

{

    char name;

    int age;

    char sex;

    .......

}

struct Student stu[4];



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值