C语言——结构体

本文详细介绍了C语言中的结构体,包括如何设计结构体类型,结构体变量的初始化,通过指针访问结构体成员,以及结构体与数组的结合使用。还探讨了结构体的大小计算和对齐规则。示例代码展示了结构体在实际编程中的应用,如学生信息的存储和排序。

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

目录

一、结构体的设计

二、结构体变量的初始化

2.1  结构体初始化

2.2  结构体指针变量

2.3  结构体嵌套结构体

三 、结构体成员访问

 3.1  结构体成员访问

3.2   结构体变量和指针

 3.3   结构体和函数

 四、 结构体与数组

 五、 计算结构体的大小

指定对齐值


一、结构体的设计

    C语言提供了基本的数据类型,例如 char 、short 、int 、float....等类型;这些称为内置类型。怎样设计出来属于自己的类型?

程序员可以使用结构体来封装一些属性,设计出新的类型,在C语言中称为结构体类型。

结构体的定义形式为:

struct 结构体名
{
   成员列表(可以是基本的数据类型,指针,数组或其他结构类型)
};

举个例子:用学生类来说,

学生拥有什么?姓名、学号、年龄、成绩....

struct Student
{
char name;
char id;
char age;
int  grade;

};

注意以下几点;

(1)、关键字struct是数据类型说明符,指出下面说的是结构体类型;

(2)、标识符Student是结构体的类型名;

(3)、最后的分号一定要写;结构体也是一个完整的c语言语句

二、结构体变量的初始化

结构体是一种数据类型,也就是说可以用它来定义变量。

结构体就像一个“模板”,定义出来的变量都具有相同的性质。可以将结构体比作“图纸”,结构体变量比作“零件”,根据同一张图纸生产出来的零件的特性都是一样的;

结构体是一种数据类型,是创建变量的模板,不占用内存空间;结构体变量才包含了实实在在的数据、需要存储空间;
 

2.1  结构体初始化

#include<stdio.h>
int main() {
	struct Student {    //声明结构体类型struct Student
                        //以下4行为结构体的成员
		long int num;
		char name[20];
		char sex;
		char addr[20];
	}a = { 10101,"Li lin",'M ',"123 Beijing Road" };   //定义结构体变量a并初始化
	printf("NO.:%ld\nname:%s\nsex:%c\naddress:%s\n", a.num, a.name, a.sex, a.addr);
	return 0;
}

2.2  结构体指针变量

1.  结构体指针的定义方法:

1)struct 结构体名 *指针;
2)直接在定义结构体的时候添加结构体指针的声明

//在main()方法中定义
struct student *p1;//定义结构体指针
struct student
{
	int num;
	char name[20];
	char sex;
}*p2;

 2.  利用结构体指针访问结构体变量(输出)

结构体指针访问变量方法:
1)p->结构体成员;
2)(*p).结构体成员;</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值