(四)C语言之结构体

本文详细介绍了C语言中的结构体,包括结构体的定义、初始化、不同写法、结构体嵌套、结构体与指针的操作、结构体数组与指针的应用、结构体大小的字节对齐原则、动态内存分配、typedef类型别名的使用,以及结构体中包含函数指针成员的实现。

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

温馨提示

写博客是为了记录在开发过程中所涉及到的技术以及遇到的问题的解决,如果该博客对您有所帮助,希望可以点个关注;如果您对文章中的内容有什么不同的见解,欢迎留言进行讨论。谢谢!

(四)C语言之结构体

一、什么是结构体

结构体是一种构造数据类型,就是把不同的数据类型整合起来成为一个自定义的数据类型

二、初始化结构体的变量

1. 第一种初始化方式

struct [结构体类型] [结构体变量名] = {[结构体内参数实例化值]

2. 第二种初始化方式

struct [结构体类型] [结构体变量名] ;

[结构体变量名].[结构体参数名] = [实例化值];

例如:

struct Man
{
	char name[20];
	int age;
	char* mobile;
	
};
void main() {
	struct Man m1 = { "Jack",20 ,"18800008888"};
	printf("%s,%d,%s\n", m1.name, m1.age,m1.mobile);
	//或
	struct Man m2 ;
	//m2.name 数组类型不能直接复制
	strcpy(m2.name, "Rose");
	m2.age = 23;
	m2.mobile = "16600001111";
	printf("%s,%d,%s\n", m2.name, m2.age,m2.mobile);
	getchar();
}

输出:

Jack,20,18800008888
Rose,23,16600001111

三、结构体的几种写法

1、第一种写法

例如:

struct Man{
	char name[20];
	int age;
};
void main() {
	struct Man m1 = { "Jack",20};
	printf("%s,%d\n", m1.name, m1.age);
	getchar();
}

2、第二种写法,可以在结构体类型的}后,定义结构体变量名,也可以对结构体变量名进行初始化。

例如:

struct Man {
	char* name;
	int age;
} Man,m2={"jack",20};

void main() {
	Man.name = "Tom&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值