C语言初阶(11)

1.结构体定义

结构体就是一群数据类型的集合体。这些数据类型被称为成员变量。结构的成员可以是标量、数组、指针,甚至是其他结构体。

2.结构体的声明和结构体变量命名与初始化

结构体声明由以下结构组成

cs 复制代码
struct stu
{
	char name[12];
	int age;
};

结构体命名有两种形式

cs 复制代码
struct stu
{
	char name[12];
	int age;
}stu1,stu2;
cs 复制代码
struct stu
{
	char name[12];
	int age;
};
int main()
{
	struct stu st;
	return 0;
}

结构体变量初始化

cs 复制代码
struct stu
{
	char name[12];
	int age;
};
int main()
{
	struct stu st = { "anan",12 };
	
	return 0;
}

结构体定义包含另一个结构体,在初始化时要使用这样形式,大括号套大括号的形式。

cs 复制代码
struct peo
{

	 int high;
};
struct stu
{
	char name[12];
	int age;
	struct peo pe;
};
int main()
{
	struct stu st = { {181},"anan",12 };
	
	return 0;
}

结构体int类型不能写成数组类型

3.结构体的成员访问和结构体传参

结构体成员访问时有两种形式

结构体传参时多使用地址进行传参,防止内存空间的浪费

传参时使用test(&st)进行传参

相关推荐
你撅嘴真丑19 分钟前
map 与 set容器的应用--话题焦点人物
数据结构
生成论实验室27 分钟前
《事件关系阴阳博弈动力学:识势应势之道》第二篇:阴阳博弈——认知的动力学基础
数据结构·人工智能·科技·神经网络·算法
li16709027039 分钟前
第二十七章:智能指针
c语言·数据结构·c++·visual studio
We་ct1 小时前
深度剖析浏览器跨域问题
开发语言·前端·浏览器·跨域·cors·同源·浏览器跨域
skywalk81631 小时前
在考虑双轨制,即在中文语法的基础上,加上数学公式的支持,这样像很多计算将更加简单方便,就像现在的小学数学课本里面一样,比如:定x=2*x + 1
开发语言
小书房1 小时前
Kotlin的by
android·开发语言·kotlin·委托·by
就叫飞六吧1 小时前
QT写一个桌面程序exe并动态打包基本流程(c++)
开发语言·c++
threelab2 小时前
Three.js 代码云效果 | 三维可视化 / AI 提示词
开发语言·javascript·人工智能
V搜xhliang02462 小时前
OpenClaw科研全场景用法:从文献到实验室的完整自动化方案
运维·开发语言·人工智能·python·算法·microsoft·自动化
kaikaile19952 小时前
风、浪、流环境模型的船舶三自由度(纵荡、横荡、艏摇)运动仿真MATLAB
开发语言·人工智能·matlab