700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > C/C++中的指针变量可以相互赋值 使得它们指向同一块地址空间

C/C++中的指针变量可以相互赋值 使得它们指向同一块地址空间

时间:2022-10-01 16:30:41

相关推荐

C/C++中的指针变量可以相互赋值 使得它们指向同一块地址空间

两个指针变量可以相互赋值吗?

int *p, *q;

p=q;

这样写是什么意思?是p指向q吗?

答:1.两个指针变量之间可以相互赋值,p和q都是int类型的指针。

p=q表示将q所指向的int类型变量的地址赋给p

2.两个都是指针,所以是p的值等于q

如果p不是指针,那么p=q是p等于q指向的值

3.可以这样写,前提好像是q有确定的地址指向,然后用此语句赋值则表示,指针p和指针q指向相同的地址空间。

4.指针也只不过是一个变量而已,只不过里面存放的是地址

以上内容来源

示例:

#include<iostream>using namespace std;int main(){int *pa;int a[8]={1,2,3,4,5,6,7,8};pa=a;int *pb;pb=pa;*(pb+3)=98;cout<<a[3]<<endl;*(pa+6)=0;cout<<a[6]<<endl;}

输出结果:

98

0

可见,pb和pa指向了同一块地址空间,用pb或者pa,都会对指向的地址空间中的数据进行操作。

此程序较为简单,容易看懂,但是在较为复杂的程序中,例如为了提高程序可读性,或者使得代码逻辑更加清晰,使用了两个指针指向同一块地址,无论是哪个指针修改了这块地址空间的内容,结果都是修改了。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。