C语言中的const: 在C语言中关于const的使用其实并不是特别广泛,它的目的主要是定义只读变量的关键字,或者说const是定义常变量的关键字。本身的格式大概是这样子的 如: const int temp = 4(int const temp =4.)两者等价; 它定义修饰的是一个整型变量temp,但是本身temp是无法修改,只可读,这符合常量的特性,本身是个整型变量,但变量又不能修改,所以就把它称为常变量,本身是变量又拥有常量的性质,因此又称他为“伪常量”。
说const定义的是变量,但又相当于常量,说它定义的是常量,但又有变量的属性,所以叫常变量。
用const修饰定义的变量的值是不允许改变的,既不允许给它重新赋值,所以说它定义的是只读变量,这也就意味这必须在定义的时候就给它赋初值。(我自己百度的,必须在声明是常变量的时候,直接就要给该变量赋值,C语言情况下,在vs2015中声明不定义是没有报错的,但是输出会出现问题,在c++情况下,是编译失败的,但是我们可以试想,这只不过取决与不同编译系统对于此类情况的处理不同而已,假设我们没有对常变量进行初始化,那么我们在程序的后边应不应该给它赋值呢,答案是不能的,在声明的那一瞬间就已经确定了是无法进行后续再进行赋值的。假如在声明时候若不进行初始化,那么后续我们是该赋值还是不该赋值呢,所以这就说明了必须要初始化的必要性。)
现在谈一谈变量,假设它是局部变量,那么它的存储区是在栈区,如果是全局变量或者静态变量,那么它存储在全局(静态区)区。而常量是存储在常量区的。而局部常变量的存储区是存储在栈区的,全局常变量的存储区是存储在全局区(静态区),没有特别规定的const型变量的存储区。
const相关使用(变量,指针,类对象,数据成员):(一)
最新推荐文章于 2020-07-05 10:34:19 发布