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;
}
相关推荐
晓蛋1 天前
c语言指的是什么意思
c语言·编译器·编程开发·集成开发环境·程序实例
小羊没烦恼!1 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
傲世仙尊1 天前
目录即文件-Ext文件系统收尾篇
linux·c语言
牵猫散步的鱼儿1 天前
重载、重写(覆盖)、重定义区别
c语言
伞伞悦读1 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
phltxy1 天前
C 语言指针:从内存地址到灵活的数据访问
c语言
C语言小火车1 天前
C/C++ 为什么需要编译器?
开发语言·c++
phltxy1 天前
C 语言中的数据存储:从类型到二进制位
c语言
霍霍的袁1 天前
【C++】map 和 set 的使用 | 从用法到底层
开发语言·c++·学习·visual studio
孙启超1 天前
【AI开发之Rust】第 11 课:智能指针与内部可变性
开发语言·后端·rust