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;
}
相关推荐
jimy15 分钟前
C语言中的 “size_t ”类型
c语言·开发语言
techdashen6 分钟前
Cloudflare 如何用 Rust 构建一个高性能解释器
开发语言·后端·rust
无敌秋15 分钟前
C++ 抽象工厂模式实战指南
开发语言·c++·抽象工厂模式
小书房22 分钟前
Kotlin使用体验及理解1
android·开发语言·kotlin
勤劳的进取家32 分钟前
传输层基础
运维·开发语言·学习·php
wuminyu33 分钟前
专家视角看Lambda表达式的原理解析
java·linux·c语言·jvm·c++
wangbing112535 分钟前
Java处理csv文件总是丢数据
java·开发语言·python
Rust语言中文社区36 分钟前
【Rust日报】2026-04-28 Pacquet:pnpm 的 Rust 重写版本
开发语言·后端·rust
modelmd44 分钟前
研究C语言的hello world输出
c语言·开发语言·chrome
小小19921 小时前
vue 单页面请求
开发语言·前端·javascript