常量分类:
1.字面常量
2.const修饰的常变量
首先注意一个点是C语言中是支持用变量来定义数组的,只是这个语法是C99标准,但是vs这个编译器是不支持C99标准的,所以这里会报错
在C语言中const修饰的变量本质上依旧是变量,只是这个变量具有了常属性罢了
但是一样要注意,这里用的是文件用的是.c后缀,也就是用的C语法,但是将文件更改成.cpp后缀的话,第二种情况是可以通过的,不会报错,这是因为在C++标准中,支持用常量来定义数组的大小,在C++当中,const int 就天然认为他是常量,如果只是一个int 也是会报错的
特别注意的是就算是C99标准,他也只是支持用变量来定义数组大小,但是不支持在用变量定义数组大小的同时还给他初始化,这是不被允许的
总结:
C语言中认为const修饰的变量依旧是变量,且认为数组在C99标准中是支持用变量来定义大小的,报错或否看该编译器是否支持C99标准(vs不支持C99),
C++中认为const修饰的变量就是常量,且C++标准认为数组中是支持用常量来定义大小,但是不支持用变量来定义
3.#define定义的标识符常量
4.枚举常量
这里枚举语法中,如果用户在定义是给出初始值,就用用户的初始值,如果用户未定义,默认从上一次的定义开始,如果未定义的是第一个,就默认从0开始