嵌入式C语言中Const关键字的基础知识和作用的详细资料概述

电子说

1.2w人已加入

描述

const 推出的初始目的,正是为了取代预编译指令,消除它的缺点,同时继承它的优点。

const的作用

(1)可以定义const常量,具有不可变性 (2)用于函数参数,便于进行类型检查,使编译器对处理内容有更多了解,消除了一些隐患。例如: void f(const int i) { ………} 编译器就会知道i是一个常量,不允许修改 (3)同宏定义一样,可以做到不变则已,一变都变! (4)可以保护被修饰的东西,防止意外的修改,增强程序的健壮性。 (5)可以节省空间,避免不必要的内存分配 (6)提高了效率。 编译器通常不为普通const常量分配存储空间,而是将它们保存在符号表中,这使得它成为一个编译期间的常量,没有了存储与读内存的操作,使得它的效率也很高。 (7)修饰常指针 

const int *A; //const修饰指向的对象,A可变,A指向的对象不可变 int const *A; //const修饰指向的对象,A可变,A指向的对象不可变 int *const A; //const修饰指针A, A不可变,A指向的对象可变 const int *const A;//指针A和A指向的对象都不可变 Const修饰其他数据类型包括数组,都是指内容不可变。

const与define

两者都可以用来定义常量,但是const定义时,定义了常量的类型,所以更精确一些(其实const定义的是只读变量,而不是常量)。#define只是简单的文本替换,除了可以定义常量外,还可以用来定义一些简单的函数,有点类似内置函数。const和define定义的常量可以放在头文件里面。(小注:可以多次声明,但只能定义一次) 

【注】const不能通过赋值改变,但可以通过其他方式改变,比如数据的输入。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分