访问成员
#include <iostream>
using namespace std;
/*
访问成员
有两种类型
实例变量:Student stu,stu是实例变量,则用成员访问符号 . (点)
指针变量:Student *p,p为结构体指针变量,则用指针运算符 -> (一个短横杆+大于号)
*/
struct Student{
string name; //成员
int age;
int num;
char level;
};
int main() {
Student stu1, *p; //stu1为实例变量,p为指针变量
// 实例变量
stu1.name = "张三"; // 实例变量成员赋值
stu1.age = 16;
stu1.num = 1;
stu1.level = 'A';
cout<<stu1.name<<endl; //实例变量成员访问
cout<<endl;
/*
输出:
张三
*/
// 指针变量
p = &stu1; //把stu1的地址给p,那么通过指针p就可以访问stu1
p->name = "李四"; //赋值 通过指针p修改结构体变量stu1成员name的值
cout<<p->name<<endl; //访问输出
cout<<stu1.name<<endl; //修改了stu1的值
cout<<(&stu1)->name<<endl; // (&stu1)是指地址,那就要通过指针访问->
cout<<(*p).name<<endl; //*p是指变量本身,*p==stu1
/*
* &的优先级要比 . ->低,所以一定要注意运算符的优先级
*/
/*
输出:
李四
李四
李四
李四
*/
return 0;
}