一、const用途
const是一个C语言的关键字,它限定一个变量不允许被改变。
1、const与基本类型
const char m;//限定m不可变。
2、const与指针
1)、const在*前面
const char *p; //*p是const,
p可变
char const * p;//
*p是const,
p可变
2)、const在*后面
char * const
p;//p是const,*p可变
3)、const在*前面及后面
char const* const p;//
p和*p都是const
const char* const
p;//p和*pt都是const
(1)const在*前,即表示*p不能变,但p能变;const在*后面,就表示p不能变,*p能变。
(2)const与char前后顺序并不重要
注意:const (char *)
p;和(char *) const
p;这是错误的,括号会被当成强制类型转换。
补充:
typedef char *char_pointer;
char_pointer const p4=&a;
p4=&a;//error
*p4='c';
这里,char_pointer表示类型char *,p4是一个const常量,不能改变,但*p4可以改变;
注意,<