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

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

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

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
 
 */


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

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

    分享给朋友:

    相关文章

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

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

    深搜剪枝技巧

    一、什么是剪枝     首先应当明确的是,“剪枝”的含义是什么。我们知道,搜索的进程可以看作是从树根出发,遍历一棵倒置的树——搜索树的过程。而所谓剪枝,顾名思义...

    【STL】二分查找函数(算法)—binary_search

    【说明】binary_search() 实现了一个二分查找算法。它会在前两个参数指定范围内搜索等同于第三个参数的元素。指定范围的迭代器必须是正向迭代器而且元素必须可以使用 < 运算符来比较。这个...

    C++ 中的常量

    C++ 中的常量

    一、说明常量和变量是相对的概念 —— 变量是 “能变化的量”,而常量就是一旦定义就固定不变、不能修改的值。用生活里的例子类比,你就能秒懂为什么需要常量:本质是 “给固定不变的东西贴‘只读标签’,避免误...

    最小生成树(1)

    最小生成树(1)

    一、定义一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图连通的最少的边。最小生成树可以用kruskal(克鲁斯卡尔)算法或prim(普里姆)算法求出...

    指针(一):基础用法

    1.定义什么是指针,简单来说:“指针就是地址”。2.指针变量的定义指针变量定义形式:  类型说明符  *变量名其中,*号表示指针变量。变量名即为定义的指针变量名,类型说明符表示该指...