作用域:
默认状态下,Const对象仅在文件内有效。所以不同文件的const对象不是同一个对象,即使名字相同,因为这样才能避免重复定义。
那为了使一个非常量表达式的const变量在不同文件之间可以共享,可以使用extern来解决问题。
1
extern const int temp;
1 | extern const int temp; |
两种一样的写法
const int a; int const a; 这两个写法是等同的
const int *a; int const* a;含义相同。
常量指针和指针常量
常量指针声明:
const int * p; int const * p;(指针指向常量)
具有只能够读取内存中数据,却不能够修改内存中数据的属性的指针,称为指向常量的指针。
指针常量声明:
int * const p=&a;(指针指向常量地址)
指针常量是指指针所指向的位置不能改变,即指针本身是一个常量,但是指针所指向的内容可以改变。
- 指针常量必须在声明的同时对其初始化,不允许先声明一个指针常量随后再对其赋值,这和声明一般的常量是一样的。
1
2
3
4
5
6
7int num=0;
int*const cur=#//一直指向num
const double pi=3.1415;
const double * const pip=π//指向常量的常量指针。