当前位置:首页 > C++知识 > 正文内容

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

亿万年的星光4年前 (2021-12-04)C++知识9122

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


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

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

分享给朋友:

相关文章

【数论】杨辉三角

【数论】杨辉三角

一、起源 杨辉三角,是二项式系数在三角形中的一种几何排列。在欧洲,这个表叫做帕斯卡三角形。帕斯卡(1623----1662)是在1654年发现这一规律的,比杨辉要迟393年,比贾宪迟600年。杨辉三角...

【算法】分治算法

前言所谓分治算法就是指分而治之,即将较大规模的问题分解成几个较小规模的问题,通过对较小问题的求解达到对整个问题的求解。当我们将问题分解成两个较小问题求解时的分治方法称为二分法。比如,我们玩过最简单的猜...

拓扑排序

拓扑排序

一、定义对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边<u,v>∈E(G),则...

C++链表结构——单链表

0.前言存储方式分为顺序存储结构和链式存储结构。顺序存储结构的优缺点:优点:可以通过一个简单的公式随机存取表中的任一元素,逻辑关系上相邻的两个元素在物理位置上也是相邻的,且很容易找到前驱跟后继元素。缺...

【数据结构】队列—基本概念

【数据结构】队列—基本概念

一、基本定义队列是一种先进先出的线性结构,简称FIFO结构。特点就是“先进先出”二、队列的相关概念队头与队尾:允许元素插入的一端称为队尾,允许元素删除的一端称为队头入队:队列的插入操作出队:队列的删除...

分离整数的各个位

分离整数的各个位

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