2021-01-24

本文介绍了如何在C语言中处理结构体类型的指针,包括指向结构体变量和结构体数组的指针。通过指针,可以高效地输入、输出和传递结构体数据,例如用于存储和打印员工信息。文章展示了如何定义结构体,如何通过指针读取和修改结构体成员,并演示了在函数中使用指针参数进行操作的例子。
摘要由CSDN通过智能技术生成

结构体类型指针

指向结构体变量的指针
1.结构体指针变量的值是所指向结构体变量的首地址
2.引用方法:指针变量名->结构体成员名或(*指针变量名).结构体变量名

指向结构体数组的指针
1.结构体指针变量的值是整个结构体数组的首地址,指针也可以指向结构体数组中的一个元素,这是指针变量的值是该结构体数组元素的首地址

用结构体变量和指向和指向结构体的指针变量作为函数参数
在ANSI C标准中,允许结构体变量作为函数参数进行整体传送,但这种传送要求将全部成员逐个传送,特别是成员作为数组时传送的时间和空间开销特别大,最好的办法是使用指针,及用指针变量作为函数参数进行传递,这时由实参传向形参的只是地址,减少了时间及空间的开销

从键盘上输入3个职工信息并打印

#include<iostream>
using namespace std;

struct employee
{
	long no;
	char name[10];
	double salary;
};

void main()
{
	void list(struct employee* p);
	struct employee workers[3], * pw;
	int i;
	for (i = 0, pw = workers; i < 3; i++, pw++)
	{
		cout << "输入信息\nno,name,salary" << i << endl;
		cin >> pw->no >> pw->name >> pw->salary;

	}
	pw = workers;
	list(pw);
}

void list(struct employee* p)
{
	int i;
	cout << "no" << '\t' << "name" << '\t' << "salary" << endl;
	for (i = 0; i < 3; i++, p++)
		cout << p->no << '\t' << p->name << '\t' << p->salary << endl;

}

函数形参为指针变量P,在main函数中定义说明了结构体变量pw
全部采用指针变量做运算和处理,速度更快,效率更高

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

.头发掉不完.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值