引用结构体成员变量
一个结构体包含一个或者多个成员变量,在实际使用中,就需要对其成员变量进行引用,对于一个已经定义了的结构体变量和一个指向该结构体的指针变量。
可以用一下三种情况引用结构体 成员变量。
1、由结构体变量名引用其成员:
结构体变量名.成员名
2、由指向结构体的指针变量引用结构体成员
指针变量名 -> 成员名
3、(*指针变量名).成员名
结构体指针:指向结构体变量的指针,一个结构体变量的起始地址就是这个结构体变量的指针。如果把一个结构体变量的起始地址存放在一个指针变量中,那么这个指针变量就是指向该结构体的变量。
其中,"." 是成员运算符,它在所有的运算符中优先级最高。 “->” 结构体指向运算符
struct student {
//成员列表
string name; //姓名
int age; //年龄
int score; //分数
};
struct student stu = { "小明",6,100, };
int main() {
//定义了一个结构体 指针p,并且对它进行初始化
struct student * p = &stu;
//引用结构体成员变量的三种形式:
cout<<"stu.score= "<<stu.score<<endl;
cout<<"p->score ="<<p->score<<endl;
cout<<"(*p).score= "<< (*p).score<<endl;
system("pause");
return 0;
}
}
另外,对于引用结构体数组变量的成员变量。具体做法:
#include<iostream>
using namespace std;
#include<string>
struct student {
//成员列表
string name; //姓名
int age; //年龄
int score; //分数
};
//定义结构体变量,并初始化。
struct student stu[3] = {
{"小明",6,100 },
{"小芳",7,99 },
{"小华",16,80 }
};
int main() {
struct student * p;
for (p = stu; p < stu + 3; p++)
{
cout << "年龄是:" << p->age << "名字是:" << p->name << "分数是:" << p->score << endl;
}
system("pause");
return 0;
}