c语言的变量,常量及作用域等
1.const定义常量
在C语言中,const可以用来定义的一个常量,在变量名前加上const即可。
int const a;
定义了一个a的整数常量,且a的值不能被修改。如果要修改a的值,有以下两种方法。
方法一
int const a=100;
在定义时,就对它进行初始化
方法二
在函数中声明const的形参在函数调用时会得到实参的值。
重点:const涉及指针变量的情况
const int * a;
int * const a;
在第一条语句中,const修饰的时指针a所指向的对象,也就是说我们无法同过指针a来修改其指向的对象的值。但是指针a本身的地址是可以改变的,既可以指向其他对象。
第二条语句中,cosnt修饰的指针a。因此,指针本身(地址)是不可以改变的,而指针所指向的对象的值是可以改变的
2.define定义常量
define实际是一个预处理指令,其用途远大于定义常量这一功能。这里只介绍define定义常量的基本用法。
使用define实际是进行符号替换,方法为
#define 符号名 替换列表
符号名必须符合标识符命名规则。替换列表可以是任意字符序列,如数字,字符串,表达式等。列如:
#define MUN “work hard!”/*后面的所有的MUN都会被替换为work hard!*/
#define AUS 99 /*后面的所有的AUS都会被替换为99!*/
#define DEPP “\a” /*后面的所有的DEPP都会被替换为“\a”!*/