指针占用空间
32位操作系统下指针占用四个字节的空间. 64位下占用8个字节.
const 指针组合
const修饰指针 --- 常量指针
声明
const T *p = xxx;
特点
指针指向可以修改, 但是指针指向的值不可以修改.
比如:
int a = 10;
int b = 20;
const int *p = &a;
*p = 20; // 非法, 指针指向的值不可以修改
p = &b; // 合法, 指针指向可以修改
const修饰常量 --- 指针常量
声明
T *const p = xxx;
特点
int a = 10;
int b = 20;
int* const p = &a;
*p = 20; // 合法, 指针指向的值可以修改
p = &b; // 非法, 指针指向不可以修改
const既修饰指针又修饰常量
声明
const T* const p = xxx;
特点
int a = 10;
int b = 20;
const int* const p = &a;
*p = 20; // 非法, 指针指向的值不可以修改
p = &b; // 非法, 指针指向不可以修改