最近看别人的项目, 发现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条评论
快来发表一下你的评论吧 !