最近看别人的项目, 发现const使用比较多, 通过使用const来保护变量, 这篇推文就来简单回顾一下相关知识!
| 用法1
有时候定义了一些变量, 但是并不想它被修改, 简单理解就是定义了一些变量, 这些变量的性质是只读, 就可以使用const来保护相关数据:
#include "stdio.h" int main() { // 写法1 const int a = 10; // 写法2 int const b = 10; // 报错 a = 20; // 报错 b = 20; }
| 用法2
除了保护变量, 还能和指针配合使用, 特别要注意const的位置, 这是个细节问题, 不能忽视!!!
#include "stdio.h" int main() { // 变量 int a = 10; int b = 10; // 写法1 const int *p1 = &a; // 写法2 int const *p2 = &a; // 写法3 int *const p3 = &a; // 重新赋值 p1 = &b; p2 = &b; // 报错 // p3 = &b; // 成功 *p3 = 20; // 报错 *p1 = 20; }
注意它们的区别: 1个只能改值, 一个只能改地址!
| 用法3
除了配合指针使用, 还能作为函数的参数进行使用, 可以细分为两类
类型1
为了防止在函数内部修改指针指向的数据,就可以用 const 的如下写法限制:
size_t strlen ( const char * str );
类型2
为了防止在函数内部修改指针指向地址, 就可以用 const 的如下写法限制:
void test( char *const obj);
特别注意: 加了const的变量或指针和不加是有区别的, 不要随便进行类型转换, 或者其他异常操作!
审核编辑:刘清
全部0条评论
快来发表一下你的评论吧 !