指针是一个值为内存地址的变量
基本用法:
1. 声明及初始化指针变量
数据类型*指针变量名;
int *ptr_num; 可以理解为int * 数据类型为整型的指针,其变量名是ptr_num;
float *money_ptr;
int num = 10;
int * ptr_num;
ptr_num = #
2. 注意:int* p的写法偏向于地址,即p就是一个地址变量,表示一个十六进制地址;
int *p偏向于值,*p就是一个整型变量,能够表示一个数整型值;
声明中的*号和使用中的*号含义完全不同;
3. 取地址&
int num = 1024;
int * ptr_num;
/**取num变量的地址赋值给ptr_num*/
ptr_num = #
4. 间接运算符
int num = 1024;
int *ptr_num;
ptr_num = #
*ptr_num = 1111; /**相当于num=1111,指针就是地址,通过地址修改真实值*/
5. void* 指针,是一种特殊的指针类型,可以存放任意对象的地址;
double objNum = 3.14;
double *ptr_obj = &objNum;
void *vptr_obj = &objNum; /**可以指定任意类型*/
cout<<(ptr_obj == vptr_obj)<<endl;
6. 小结
指针同样就是一个变量,只不过是该变量中存储的是另外一个对象的内存地址