66 结构体-结构体指针。结构体指针可以通过 -> 操作符 来访问结构体中的成员吗?

问题描述:

结构体指针可以通过 -> 操作符 来访问结构体中的成员吗?

问题解答:

可以的,比如下面的代码和结果。

// Created by 黑马程序员.
#include "iostream"
using namespace std;
//结构体定义
struct student
{
	//成员列表
	string name;  //姓名
	int age;      //年龄
	int score;    //分数
};


int main() {
    system("chcp 65001");

	struct student stu = { "张三",18,100, };

	struct student * p = &stu;

	p->score = 80; //指针通过 -> 操作符可以访问成员

	cout << "姓名:" << p->name << " 年龄:" << p->age << " 分数:" << p->score << endl;

	system("pause");

	return 0;
}
D:\CLion_code\cmake-build-debug\CLion_code.exe
Active code page: 65001
姓名:张三 年龄:18 分数:80
Press any key to continue . . . 

 

是的,结构体指针确实可以通过 -> 操作符来访问结构体中的成员。你提供的代码示例正确地展示了这一点。

解释代码

  1. 结构体定义:定义了一个 student 结构体,包含 nameagescore 成员。

  2. 结构体实例:创建了一个 student 结构体变量 stu,并初始化其成员。

  3. 指针定义:定义了一个指向 student 结构体的指针 p,并将其指向 stu 的地址。

  4. 使用 -> 操作符:通过指针 p,使用 -> 操作符访问和修改结构体成员 score

  5. 输出结果:最后,通过指针 p 输出结构体成员的值。

输出结果

运行代码时,输出为:

D:\CLion_code\cmake-build-debug\CLion_code.exe
Active code page: 65001
姓名:张三 年龄:18 分数:80
Press any key to continue . . . 

这表明 score 的值成功修改为 80,并且通过指针访问结构体成员的方式是正确的。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

神笔馬良

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

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

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

打赏作者

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

抵扣说明:

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

余额充值