C++指针的实质其实就是变量,只不过一般变量存储的是一个数值,而指针存储的是一个地址。
从下面这个例子可以清楚的看出指针的本质
#include<iostream>
using namespace std;
int main(){
int a=10;
int *p;
p=&a;
cout<<p<<"\t"<<*p<<"\t"<<&p<<endl;//p是指针指向变量的地址,*p是指针指向变量地址存放的值
//&p是指针本身的地址
cout<<a<<"\t"<<&a<<endl;
p++;
//对p做改变是改变指针指向的地址,p本身的地址不变
cout<<p<<"\t"<<*p<<"\t"<<&p;
}
//指针的地址每次改变的位数和计算机存储地址的位数有关,如计算机A存储地址使用四个字节,那么p++的地址比起p就多了四位
本文通过一个简单的C++示例程序,详细解释了指针的本质:即它是一种存储地址的特殊变量。文章展示了如何使用指针来操作内存地址,并讨论了指针地址变化的影响。
16万+

被折叠的 条评论
为什么被折叠?



