const是C语言keyword,它定义一个变量不同意变更。使用const在一定程度上,可以提高节目的安全性和可靠性。其他。解const的作用,在看别人的代码时,对理解对方的程序有一定帮助。
1、const可以理解成是”仅仅读变量“的限定词。从这里可以看出,const修饰的是变量,跟常量是不同的,常量是被编译器放在内存中的仅仅读区域,当然也就不可以去改动它。
而”仅仅读变量“则是在内存中开辟一个地方来存放它的值。仅仅只是这个值由编译器限定不同意被改动。const就是用来限定一个变量不同意被改变的修饰符。由于const声明的变量是仅仅读变量,所以它不能通过赋值、增量或减量运算来改动该变量的值,仅仅可以初始化一个const变量,初始化完毕后,不能再改变它。
const int nochange。nochange = 12;/*这是不同意的*/
const int nochange = 12。/*这是能够的*/
2、在声明指针时使用keywordconst,一定要区分让指针本身成为const与让指针指向的值成为const区分开来。
const float *pf;/*pf指向一个常量浮点数值。pf指向的值必须是不变的。但pf本身的值能够改变*/
float *const pt;/*pt是一个常量指针,它必须总是指向同一个地址,但所指向的值能够改变*/
const float *const ptr;/*ptr必须总是指向同一个位置。而且它所指位置存储的值也不能改变*/
float const *pfc。等同于const float *pfc;
把const放在类型名的后边和*的前边。意味着指针不能用来改变它所指向的值。
总之。一个位于*左边任何位置的const使得数据成为常量。而一个位于*右边的const使得指针自身成为常量。
常见使用方法是声明作为函数形式參量的指针。
3、对全局数据使用const。
首先遵循外部变量的惯用规则:在一个文件里进行定义声明,在其它文件里进行引用声明(使用externkeyword)。
/*file.c——定义一些全局变量*/
const doubule PI = 3.141;
/*file2.c——使用在其它文件里定义的全局变量*/
extern const double PI;
其次是将常量放在一个include文件里。这时还必须使用静态外部存储类:
/*constant.h——定义一些全局变量*/
static const double PI = 3.141;
/*file1.c——使用在其它文件里定义的全局变量*/
#include "constant.h"
/*file2.c——使用在其它文件里定义的全局变量*/
#include "constant.h"
假设不使用keywordstatic,在文件file1.c和file2.c包括constant.h会造成每个文件都有统一的标识定义声明。
版权声明:本文博客原创文章,博客,未经同意,不得转载。