此篇文章根据《C++程序设计基础(第5版)(上)》整理,为本书的各位编辑者的辛勤劳动成果,本人仅为其搬运简述。
访问结构
结构的数据成员并不是普通变量,它们必须在结构变量说明后才有存储意义。
访问结构变量成员使用圆点运算符: 结构变量名.成员名
例:Employee2 secretary;
变量secretary的个数据成员表示为:
secretary.name
secretary.birthday.month
secretary.birthday.day
secretary.birthday.year
secretary.code
secretary.salary
secretary.adress
secretary.phone
访问结构变量例题
#include <iostream>
using namespace std;
struct Weather //说明结构类型
{
double temp;
double wind;
};
int main()
{
Weather today; //说明结构类型变量
today.temp=10.5; //对结构变量成员赋值
today.wind=3.1;
cout<<"Temp="<<today.temp<<endl; //按成员输出
cout<<"Wind="<<today.wind<<endl;
}
如果用指针访问结构,所指对象包含了结构的数据成员,则访问形式为:*(指针).成员
或 指针->成员
例:Employee2 secretary,*pp=&secretary;
pp的值是结构变量secretary的地址。用指针pp访问结构各数据成员的形式为:
(*pp).name 或 pp->name
指针访问结构的例题
#include <iostream>
#include <cstring>
using namespace std;
struct Person
{ char name[20];
unsigned long id;
double salary;
};
int main()
{
Person pr1;
Person *pp; //定义结构指针
pp=&pr1; //取结构变量地址
strcpy_s(pp->name,"David");
pp->id=987654321;
pp->salary=335.0;
cout<<pp->name<<'\t'<<pp->id<<'\t'<<pp->salary<<endl;
}
类型相同的结构变量可以使用赋值运算。类型相同是指用同一个类型标识符说明的变量。不是同类型变量之间不可以整体赋值。
结构变量赋值的例题
#include <iostream>
using namespace std;
struct Weather
{
double temp;
double wind;
}yesterday;
int main()
{
Weather today; //说明同类型变量
yesterday.temp=10.5;
yesterday.wind=3.1;
today=yesterday; //结构变量整体赋值
cout<<"Temp="<<today.temp<<endl;
cout<<"Wind="<<today.wind<<endl;
}
本文主要介绍了C++中结构的访问方式,包括使用圆点运算符和指针访问结构变量的成员,并提供了相关例题进行说明。同时,文章提及了结构变量的赋值要求,强调必须是相同类型的结构才能进行整体赋值。
863

被折叠的 条评论
为什么被折叠?



