常量
常量一般这样定义:
// 不加分号 #define LOVE 520 #define A 'a' #define PI 3.14
const 修饰的指针变量
const
靠近谁就锁定谁,靠近*p
,就锁定*p
。
int num = 520; int const *p = # # // 锁定 *p 为只读,p 能变 int * const p = # # // 锁定 p 为只读,*p 能变
const 修饰的指针变量有三种常见情况
地址值能变,值不能变
#include <stdio.h> int main() { int num = 520; int const *p = # # // 锁定 *p 为只读,p 可变 printf("p = %d \n", *p); // 解引用指针变量,获取值 p = (const int *) 1314; // 等价于 p = 1314; 重新赋值 printf("p = %d \n", p); return 0; }
地址值不能变,值能变
#include <stdio.h> int main() { int num = 520; int *const p = # # // 锁定 p 为只读,*p 可变 printf("p = %d %p \n", *p, p); // 解引用指针变量,获取值 *p = 1314; // 重新赋值 printf("p = %d %p \n", *p, p); return 0; }
地址值 & 值 都不能变
实际中很少用到
int main() { int num = 520; const int * const p = # # // 锁定 p 、*p 为只读 return 0; }
版权声明:《 【C语言】常量和指针 》为明妃原创文章,转载请注明出处!
最后编辑:2020-11-10 12:11:36