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)进行传参

相关推荐
Niuguangshuo3 分钟前
Python设计模式:代理模式
开发语言·python·代理模式
能来帮帮蒟蒻吗10 分钟前
GO语言学习(16)Gin后端框架
开发语言·笔记·学习·golang·gin
落榜程序员12 分钟前
Java 基础-29-final关键字-详解
java·开发语言
JavaPub-rodert33 分钟前
一道go面试题
开发语言·后端·golang
6<736 分钟前
【go】静态类型与动态类型
开发语言·后端·golang
逸狼1 小时前
【Java 优选算法】二分算法(下)
数据结构
车载小杜2 小时前
基于指针的线程池
开发语言·c++
沐知全栈开发2 小时前
Servlet 点击计数器
开发语言
m0Java门徒2 小时前
Java 递归全解析:从原理到优化的实战指南
java·开发语言
桃子酱紫君3 小时前
华为配置篇-BGP实验
开发语言·华为·php