当前位置:首页 > C++目录 > 正文内容

C++中箭头指针的含义及用法

亿万年的星光4年前 (2021-12-04)C++目录9517

0.前言

c++中我们在一些程序中看到箭头 p—>stu 类似于这样的表示。今天就简单来解释一下点运算和箭头运算。


1.点运算

常见的点一般出现在结构体中,比如下面的代码:

#include<iostream>
using namespace std;
struct student{
	int name[100];
	int num;
	double chinese;
};
student s [10]; 
 
int main(){
	for(int i=0;i<5;i++){
		cin>>s.name;
	}
	return 0;
}

我们可以通过点运算符快速访问结构体成员变量。

比如下面这样:

#include<iostream>
using namespace std;
struct student{
	int name[100];
	int num;
	double chinese;
};
student s1; 
 
int main(){
	s1.num=12;
	cout<<s1.num;
	return 0;
}



2.指针运算


指针运算用于结构体指针访问成员。

例子:

#include<iostream>
using namespace std;
struct student{
	int name[100];
	int num;
	double chinese;
};
student s1; 
student *s2; 
int main(){
	s1.num=12;
	cout<<"s1="<<s1.num<<endl;
	s2=&s1;
	s2->num=17;
	cout<<"s1="<<s1.num<<endl;
	cout<<"s2="<<s2->num<<endl;
	return 0;
}
 /**
 结果:
s1=12
s1=17
s2=17
 
 */

而且也可以通过箭头函数快速访问结构体变量


3.简单总结

点运算是结构体变量访问其成员的操作符

箭头运算是结构体指针访问其指向的成员变量的操作符

(*s2).num 和s2->num是等价的

#include<iostream>
using namespace std;
struct student{
	int name[100];
	int num;
	double chinese;
};
student s1; 
student *s2; 
int main(){
	s1.num=12;
	cout<<"s1="<<s1.num<<endl;
	s2=&s1;
	(*s2).num=17;
	cout<<"s1="<<s1.num<<endl;
	cout<<"s2="<<(*s2).num<<endl;
	return 0;
}
 /**
 结果:
s1=12
s1=17
s2=17
 
 */


    扫描二维码推送至手机访问。

    版权声明:本文由青少年编程知识记录发布,如需转载请注明出处。

    分享给朋友:

    相关文章

    指针(三):指针与函数

    1.交换的例子#include<iostream> #include<cstdio> #include<cstring> using namespa...

    【数论】同余定理与同余方程

    定义同余定理是数论中的一个重要概念。它的定义是这样的:给定一个整数m,如果两个整数a和b满足(a-b)能够被m整除,即(a-b)/m 得到一个整数,那么就成整数a和b对模m同余,记作a≡b(mod m...

    信息学奥赛中文件流的写法

    信息学奥赛中文件流的写法

    头文件#include<cstdio>也可以用万能头格式如下:int main(){ freopen("xxxx.in","r",st...

    【C++图形化编程】小游戏——打砖块(1)

    【C++图形化编程】小游戏——打砖块(1)

    0.前言这篇文章我们尝试创建一个打砖块的小游戏。1.游戏框架根据我们前面做的一些游戏的框架,这个小游戏的框架也可以分为下面这样的框架。int main() { startup();&n...

    【高级篇】C++ 中string的用法

    【高级篇】C++ 中string的用法

    0.概述string是C++标准库的一个重要部分,本意是字符串,和字符数组不同的是,字符数组是通过一个一个字符模拟的字符串,而string本身就是字符串,string在处理字符串问题时,十分强大。1....

    【数据结构】优先队列(1)

    优先队列(Priority Queue)是一种特殊的队列,它 不遵循“先进先出”(FIFO) 的原则,而是 按照优先级(Priority) 来出队。优先级高的元素 先出队,优先级低的元素 后出队。1....