最近看别人的项目,发现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语言
+关注
关注
183文章
7646浏览量
146123 -
CONST
+关注
关注
0文章
45浏览量
8817
原文标题:C语言|const关键字
文章出处:【微信号:玩转单片机,微信公众号:玩转单片机】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
热点推荐
C语言volatile关键字详解 精选资料分享
1.volatile和什么有关百度翻译是这样子翻译volatile的:图1-1 百度翻译volatile截图volatile属于C语言的关键字,《C Primer Puls》 是这样解
发表于 07-22 07:20
嵌入式程序员常见的const、static、volatile关键字
嵌入式程序员const、static、volatile三个关键字的朴素认识摘要:在C语言程序编写中,const、static
发表于 12-21 06:08
C++中mutable关键字详解与实战
mutable关键字详解与实战 在C++中mutable关键字是为了突破const关键字的限制,被mutable
浅谈C++的mutable关键字
C++11中推出了一种特殊的关键字:mutable用于修饰类变量。它的作用是标注该变量一定会被修改,因此也就不是const类型。目的是为了使这些成员变量在被const
C语言关键字分别发生在哪个阶段
在编译的第一个阶段:预处理,对一些宏定义做替换。 第二个,const。 C语言中的 const 用于修饰只读变量,表示变量本身不能修改。 这个关键字
C语言|const关键字介绍
评论