首先说一下C语言的关键字const。
const是一个C语言(ANSI C)的关键字,具有着举足轻重的地位。它限定一个变量不允许被改变,产生静态作用。
好处在于在一定程度上可以提高程序的安全性和可靠性。
例如: const int Max=100;
Max的值 就固定为100,当你对Max进行运算时,编译器会提示错误。
我们在阅读源码时经常会遇到const char * abc;这类得语句。但是你是否真正明白这类语句的含义呢,现在我们来具体说一下。
const和指针的组合可分为四类。
1. const int *p; p是一个指针,指针指向 int型数据。p所指向的是一个常量。
2. int const *p; p是一个指针,指针指向 int型数据。p所指向的是一个常量。
3. int *const p; p是一个指针,指针指向 int型数据。p本身是一个常量,p所指向的是
一个变量。
4.const int *const p; p是一个指针,指针指向 int型数据。p本身是一个常量,p所指向
也是一个常量。
结论和记忆方法:
const在 *前面,表示const作用于p所指向的量。所以p所指向的是个常量。
const在 *后面,表示p本身是常量,但p所指向的不一定是常量。
关于C语言关键字const和指针组合的不同含义
最新推荐文章于 2021-10-31 21:48:34 发布