c语言结构体基础


前言

一、结构体

1.结构体基本知识

在这里插入图片描述
结构体声明以及结构体变量
在这里插入图片描述
结构体使用:

struct Stu
{
	//结构体成员
	char name[20];
	int age;
	char sex[10];
	float score;
};

int main()
{
	struct Stu s1 = {"zhangsan", 20, "nan", 95.5f};
	struct Stu s2 = { "旺财", 21, "保密", 59.5f };

	printf("%s %d %s %.1f\n", s2.name, s2.age, s2.sex, s2.score);

	return 0;
}

2.结构体嵌套使用

struct S
{
	int a;
	char c;
};

struct P
{
	double d;
	struct S s;
	float f;
};

void Print1(struct P sp)
{
	//结构体变量.成员
	printf("%lf %d %c %f\n", sp.d, sp.s.a, sp.s.c, sp.f);
}

3.结构体指针

主函数中:Print2(&p);//传址调用
void Print2(struct P* p1)
{
	printf("%lf %d %c %f\n", (*p1).d, (*p1).s.a, (*p1).s.c, (*p1).f);
	//结构体指针->成员
	printf("%lf %d %c %f\n", p1->d, p1->s.a, p1->s.c, p1->f);
	
}

注意:结构体传参,结构体传地址。传地址好!传参,其中参数需要压栈,如果结构体过大,会导致性能下降。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值