0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

C语言|const关键字介绍

玩转单片机 来源:玩转单片机 2023-05-25 15:11 次阅读

最近看别人的项目,发现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语言关键字const的几种用法

    本期来讲解一个C语言关键字——const
    发表于 06-21 11:05 1026次阅读
    C<b class='flag-5'>语言</b><b class='flag-5'>关键字</b><b class='flag-5'>const</b>的几种用法

    DSP编程技巧之17---非常“关键”的关键字

    什么是“关键字”?关键字就是已被C语言本身使用,不能作其它用途使用的,例如关键字不能用作变量名
    发表于 08-20 11:38

    C语言关键字中static,volatile,const,extern,return含义及作用?

    C语言关键字中static,volatile,const,extern,return含义及作用?static 函数分为内部函数和外部函数当一个源程序由多个源文件组成时,
    发表于 09-15 20:18

    嵌入式软件编程中关键字的用法和原理

    青岛职业技术学院刘浩山东省文登市泽头镇***张斌引言计算机编程语言关键字就好比是它的灵魂,只有深入理解了它们的含义才能编写出优秀的代码。C语言以其简洁、高效和强大等特性成为嵌入式软件
    发表于 06-20 07:37

    【视频】C语言知识免费视频教程第2集-C语言关键字-常量-变量(已更新到21集,观看链接已附上)

    语言相关的问题,都可以在帖子下面讨论。C语言教程第一集:认识C语言C
    发表于 03-04 13:24

    【视频】C语言知识免费视频教程-C语言关键字-const-连载视频第6集(视频持续更新……)

    单片机C语言相关的问题,都可以在帖子下面讨论。C语言教程第一集:认识C语言
    发表于 04-06 09:44

    【视频】C语言知识免费视频教程-C语言关键字_sizeof-连载视频第11集(视频持续更新……)

    语言教程第二集:C语言关键字-常量-变量C语言教程第三集:C
    发表于 05-20 09:10

    介绍一下关键字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

    C语言volatile关键字之间有什么关系?

    C语言volatile关键字之间有什么关系?
    发表于 11-11 07:01

    嵌入式程序员常见的const、static、volatile关键字

    嵌入式程序员const、static、volatile三个关键字的朴素认识摘要:在C语言程序编写中,const、static
    发表于 12-21 06:08

    C语言关键字static的作用是什么

    C语言关键字static的作用是什么?用预处理指令#define 声明一个函数,输入天数得到有多少秒?
    发表于 12-24 06:53

    C++与C的const关键字有何差别?

    C++与C中的const关键字有何差别?
    的头像 发表于 02-03 14:51 1606次阅读

    C++中的const关键字介绍

    前一篇文章我们主要介绍了C++中的复合类型引用和指针,这篇文章我们将会主要介绍C++中const关键字。有时候我们想定义一个值不能被改变的变量,例如我们想使用一个变量存储buffer的
    的头像 发表于 03-17 14:01 421次阅读

    const关键字应用总结

    C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性
    的头像 发表于 05-26 09:06 368次阅读