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

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

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

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


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

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

    分享给朋友:

    相关文章

    分离整数的各个位

    分离整数的各个位

            平常做题的时候有很多时候会遇到分离整数的各个位的操作,比如求回文数,数字反转等题目。今天简单总结一下分离...

    【STL】二分查找函数 lower_bound 和 upper_bound

    一、 lower_bound【功能】在数组a中从a[begin]开始到a[end - 1]按照cmp函数来比较进行二分查找第一个大于等于k的数的地址,如果有第一个大于等于k的数则返回该数的地...

    编程与编程语言

    编程与编程语言

    一、编程是什么编程就像给电脑写“魔法指令”!电脑很聪明,但它不会自己思考,需要你告诉它做什么和怎么做。比如,你想让电脑画一只小猫、做一个游戏,或者解一道数学题,都需要用编程语言写下规则。举个栗子🌰:如...

    C++ 如何隐藏光标

    在C++控制台做小游戏的时候,光标一直在闪,影响体验效果,我们可以通过下面的函数隐藏光标位置。void HideCursor(){ CONSOLE_CURSOR_INFO cu...

    图的访问与遍历-深度优先搜索

    图的访问与遍历-深度优先搜索

    一、图的遍历图的遍历是指从图中的某个顶点出发,按照一定规则访问图中所有顶点且每个顶点仅访问一次的过程,核心分为深度优先搜索(DFS) 和广度优先搜索(BFS) 两大类,适用于无向图...

    树的存储与遍历—顺序存储

    顺序存储使用数组来存储二叉树节点,通过数组下标表示节点间的父子关系,一般适用于完全二叉树。1.存储规则根节点存储在索引 0 位置对于索引为 i 的节点:左子节点索引:2*i + 1右子节点索引:2*i...