C++中箭头指针的含义及用法
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
*/
扫描二维码推送至手机访问。
版权声明:本文由青少年编程知识记录发布,如需转载请注明出处。