结构体类型指针
指向结构体变量的指针
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
全部采用指针变量做运算和处理,速度更快,效率更高