定义:指针的值是一个地址但同时他也有自己的一个地址
运算:可以进行算术运算,自增减运算。结果是地址的一个偏移
void:可以把任何类型的指针赋值给void指针,void指针赋值给其他类型指针需要类型强制转换 float* pFloat=(float*)pVoid;
转换:static_cast<类型说明符>(表达式) 例子:double fRelut=static_cast<double>(nVal1)/nVal2;
指向指针:数据类型标识符 **指针变量名 例子:int** p=&a;
指针作为返回值:注意不能把指向局部变量的指针作为返回值。
例子:
int* Get()
{
int n=1;
return &n;
}
int main()
{
int * p=Get();
cout<<"当前局部变量的值:"<<*p<<endl;
int b;
cout<<"改变后局部变量的值:"<<*p<<endl;
return 0;
}
结果 改变后局部变量的值:1
改变后局部变量的值:1580546491;
牢记:可以返回全新申请的内存地址,全局变量的地址,静态变量的地址,不可以返回局部变量的地址。