最近看别人的项目,发现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的如下写法限制:
voidtest( char *constobj);
特别注意:加了const的变量或指针和不加是有区别的, 不要随便进行类型转换, 或者其他异常操作!
审核编辑:刘清
-
C语言
+关注
关注
180文章
7616浏览量
138001 -
CONST
+关注
关注
0文章
45浏览量
8196
原文标题:C语言|const关键字
文章出处:【微信号:玩转单片机,微信公众号:玩转单片机】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论