最近看别人的项目,发现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文章
7533浏览量
128815 -
CONST
+关注
关注
0文章
43浏览量
8006
原文标题:C语言|const关键字
文章出处:【微信号:玩转单片机,微信公众号:玩转单片机】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
C语言关键字中static,volatile,const,extern,return含义及作用?
C语言关键字中static,volatile,const,extern,return含义及作用?static 函数分为内部函数和外部函数当一个源程序由多个源文件组成时,
发表于 09-15 20:18
嵌入式软件编程中关键字的用法和原理
青岛职业技术学院刘浩山东省文登市泽头镇***张斌引言计算机编程语言的关键字就好比是它的灵魂,只有深入理解了它们的含义才能编写出优秀的代码。C语言以其简洁、高效和强大等特性成为嵌入式软件
发表于 06-20 07:37
【视频】C语言知识免费视频教程-C语言关键字-const-连载视频第6集(视频持续更新……)
单片机C语言相关的问题,都可以在帖子下面讨论。C语言教程第一集:认识C语言
发表于 04-06 09:44
介绍一下关键字extern的用法
学单片机C语言一定要熟悉关键字的用法,本文介绍一下关键字extern的用法。1、extern的定义是:extern可以置于变量或者函数前,以
发表于 07-15 06:38
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++中的const关键字介绍
前一篇文章我们主要介绍了C++中的复合类型引用和指针,这篇文章我们将会主要介绍C++中const关键字。有时候我们想定义一个值不能被改变的变量,例如我们想使用一个变量存储buffer的
评论