声明外部符号extern,这个关键字常常置放在main函数外的,它的主要作用是在其他模块中寻找此变量或者函数的定义。
左图里,没有定义常量a的值;但使用了extern之后,告诉编译器去其他模块里找到了a的值。
在之后extern还有更大的用处,目前知晓这个便足够了。
常量
顾名思义,一个不变化的量,是不随着时间变化的某些量的固定信息。但是你们知道常量又分为哪些嘛?小编整理了一下,如下:
字面常量:在程序里面,为基本数据类型赋值的结果值被称之为字面常量,例如,int a = 10;这个10被称之为字面常量。若是更加细分,则有整型字面常量、浮点字面常量、布尔字面常量、单字符/字符串字面常量。在这就一一举例了。
const修饰的常变量:将一个已经赋值的变量名当做常量对待,并且之后无法对该变量名进行修改解释就让程序来表示吧:
- const int a=10;
- int arr[a]={0};//此时的a已经是一个常量,可以使用。
-
- ================================================
-
- const int a=10;
- a=15;
- printf("%d",a);//编译错误,因为a在const的修饰下,
- //已经是一个常量,不可能修改。
#define标识符常量:编译前的处理(预处理)使用方法是:#define 标识符 常量 放置在main函数外。注凡是以“#”开头的均为预处理指令。
- include<stdio.h>
- #define M 100
- int main(){
- printf("%d",M);//编译结果是100
- return 0;
- }
枚举常量(enum):一个集合,集合中的元素(枚举成员)是一些命名的整型常量,元素之间用逗号,隔开。
- enum color
- { //Red、Green、Blue是枚举类型color的可能取值,并且也是常量
- Red,//0
- Green,//1
- Blue,/https://files.jxasp.com/image/2
- };
-
- int main()
- {
- enum color c=Red;
- printf("%d",c); // 0
- printf("%d",Red); // 0
- printf("%d",Green); // 1
- printf("%d",Blue); // 2
-
- //Red =100;Red本身就是常量,不可以改
- return 0;
- }
以上便是常量的种类了。
---------------来自一个不知名的菜鸟大二学生
请路过的帅哥美女点点赞支持支持我,ヾ(o′▽`o)ノ°°谢谢