C++有C语言特点,指针便是最重要打特征之一:
常指针格式:
const 类型×指针名如const int *p
这种指针指的是常量指针即:
不能通过该指针的间接引用改变其值;但是指针所指变量本身可以改变,指针变量也可以被不同地址赋值。
指针常量格式:
类型×const 指针名=初始地址如int *const p=&a
这种指针定义时候就被初始化,以后所存地址都不能改变,但是可以通过间接引用改变所指变量打值
注意的是字符串常量存放在内存中,有自己打固定首地址,也就是说如果把字符串常量打首地址看成上指针的话,那么该指针既是常指针(值不变)又是指针常量(首地址固定)
另外字符串常量可以又数组或者字符指针方式表示:
用数组表示:
char str_array[]="china";//数组名是指针常量
char *str_ptr="china";//字符指针是常指针
指针函数:
函数返回值为指针的函数
指针数组:
数组元素为某类型的指针,其声明的格式:
类名× 指针数组名[常量表达式]如char * pc[10]
注意与指向二维数组里的一维数组指针的声明的区别:
类名(×指针名)[一维数组大小]如char(*pc)[10];//指向含有10个char型元素一维数组的指针