凌阳教育的个人空间 https://blog.eetop.cn/204849 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

将变量声明为常量

已有 619 次阅读| 2016-4-7 14:40

有时我们希望在程序的运行过程中,某些变量的值保持不变。这可以这样来实现,在初始化时,加修饰符const来声明变量。例如:

const int class_size=40

constANSI标准定义的一个新的数据类型修饰符。上面给语句告诉编译器,int类型的变量class_size不能被程序修改。但是,它可以像其他变量一样,用赋值语句来修改。

将变量声明为可变的

ANSI标准定义的另一个修饰符是volatile,它可用于显示地告诉编译器,变量的值可以随时被一些外部因素修改。例如:

volatile int date

date的值可以被某些外部因素改变,尽管没有使用赋值语句。当一个变量被声明为volatile时,每次碰到该变量时,编译器都将检测该变量的值是否被外部因素修改过了。

记住,声明为volatile的变量同时也可由本身的程序修改。如果希望其值不能被该程序修改但可被其他程序修改,那么就可同时用constvolatile来声明变量。例如:

volatile constant intlocation=100

数据的溢出

当变量的值大于或小于其数据类型所能存储的值时,就将发生溢出问题。变量所能存储的最大值取决于具体的计算机。由于浮点数值可以圆整为允许的位数,因而上溢的常见结果是成为一个最大的实数值,而下溢则为零。

整整往往能在帧数数据类型的限定范围内。但是,如果数据类型与常量的值不匹配,发生溢出将是一个严重的问题。C语言不提供整数溢出的任何警告或提示。它只是简单地给出不正确的结果。因此在我们定义用于处理输入/输出数值的数据类型时,应加倍小心。

谨记

标识符的第一个字符不能使用下划线,因为在系统库中的很多标识符是以下下划线打头的。

标识符只能是小于32个字符。这有助于保证程序的可移植性。

不能用关键字或任何系统库名作为标识符。

尽量使用有一定含义或具有一定信息提示的变量名。

最好不要用两个变量只有一两个字母之差的变量名。

每个变量应在程序或函数的开头处声明。

所有变量在使用前必须初始化。默认情况下,整数常量为int型。要使其为longunsigned型,必须在其后加上字母LU

浮点常量默认为double型。要使其为floatlong float型,必须在其后加上字母FL

不要用字母l来表示long类型,因为会经常与数字1混淆。

字符常量用单引号,而字符串常量则用双引号。

字符是作为整数来存储的。因此可以对字符做算数运算。

不要将变量声明与可运行语句合在一起。

在程序的开始处使用预处理器指令命令#define,或者是在初始化使用修饰符const来声明变量,就可以将变量变为常量。

#define指令后面不能加分号。

字符#必须位于一行中的第一个位置。

#define之间不能加空格。

C语言不提供关于溢出的任何警告或提示。

如果变量的定义位于main函数之前,那么程序中的所有函数都可以使用该变量。

在某个函数内部定义的变量时该函数的局部变量,对于其他函数是不可用的。

凌阳教育,全国唯一一家原厂式嵌入式培训机构,专业从事嵌入式人才培训13年,最近新开课程信息安全工程师培训,想了解更多嵌入式资料下载或者是凌阳教育的动态,请访问凌阳教育官网www.sunplusedu.com


点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 1

    粉丝
  • 0

    好友
  • 1

    获赞
  • 3

    评论
  • 3815

    访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-3-29 21:04 , Processed in 0.026284 second(s), 13 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部