指针的本质是变量,可以是各种数据类型,定义一个指针 "*ip",其中 "ip" 需要赋于一个地址(可以用 & 符号获取其他变量的地址再赋值给 ip),而 "*ip" 是一个具体的值,即读取地址后获得的值
#include <iostream>
using namespace std;
int main()
{
int var = 20;
int *ip;
ip = &var;
cout << "var的值:";
cout << var << endl;
cout << "变量 ip 的储存地址:";
cout << ip << endl;
cout << "指针 *ip 的值:";
cout << *ip << endl;
return 0;
}
以上输出结果:
var的值:20
变量 ip 的储存地址:0x7fff5e7deae8
指针 *ip 的值:20
& 符号的意思是取地址,也就是返回一个对象在内存中的地址。
* 符号的意思是取得一个指针所指向的对象。 也就是如果一个指针保存着一个内存地址,那么它就返回在那个地址的对象。
简单点就是:&:取址。* :取值。
参考文档:C语言指针相关知识理解以及总结