C语言-结构体进阶

结构体的声明,结构体变量的定义与初始化,结构体成员的访问

复制代码
#include<stdio.h>
//结构体
//
//结构体的声明,结构体变量的定义与初始化,结构体成员的访问
struct  Peo 
{
	char name[20];
	char tele[12];
	char sex[5];//女 男 保密
	int high;
}p3,p4;
struct Peo p5, p5;
struct St
{
	struct Peo p;
	int num;
	float f;
};
void print2(struct Peo* sp) {
	printf("%s %s %s %d\n", sp->name, sp->tele, sp->sex, sp->high);  //结构体指针->成员变量
}
void print1(struct Peo p) {
	printf("%s %s %s %d\n", p.name, p.tele, p.sex, p.high);          //结构体变量.成员变量
}

int main() {
	struct Peo p1 = {"张三","15364649771","男",197};//结构体变量的创建
	struct St s = { {"lisa","16234479467","女",184},100,3.14f };
	printf("%s %s %s %d \n", p1.name, p1.tele, p1.sex, p1.high);
	printf("%s %s %s %d %d %f \n", s.p.name, s.p.tele, s.p.sex, s.p.high,s.num,s.f);
	print1(p1);
	print2(&p1);//结构体传参时,尽量传结构体的地址(如果传对象,参数会压栈,影响性能)
	return 0;
}
相关推荐
遨游xyz1 小时前
BM算法(Boyer-Moore)
开发语言·python
2501_918126911 小时前
stm32能做次声波检测器吗?
c语言·stm32·单片机·嵌入式硬件·学习
独自破碎E1 小时前
BISHI66 子数列求积
android·java·开发语言
devmoon1 小时前
从 0 到 1 实现两条独立区块链Parachain的跨链通信能力之实操指南
开发语言·rust·区块链·信息与通信·polkadot
清水白石0082 小时前
依赖注入的优雅:不用框架,在 Python 中实现轻量级依赖注入
开发语言·python
游乐码2 小时前
c#里氏替换
开发语言·c#
未来之窗软件服务2 小时前
AI人工智能(十二)C# 运行sensevoice onnx—东方仙盟练气期
开发语言·人工智能·c#·仙盟创梦ide·东方仙盟
weixin_440401692 小时前
Python数据分析-合并清洗与转换(concat+lambda函数+apply+删除drop/替换数据replace)
开发语言·python·数据分析
Dxy12393102162 小时前
Python如果遇见乱码可以通过二进制判断是什么编码吗?
开发语言·python