声明和定义的区别, 官方一点来讲,声明是指出存储类型,并给存储单元指定名称,定义是分配内存空间,还可为变量指定初始值。通俗一点就是声明告诉编译器在某个地方存在这么一个变量,我可以在下文中使用,定义则是告诉编译器需要给这么一个变量分配空间,指定初始值。通常来说定义变量的时候也就声明了变量,只声明不定义的情况只有使用extern声明变量的时候,比如你用了一个全局变量,但是这个全局变量定义在其他cpp文件里。定义只能有一个,声明则可以存在多个。
上文说到全局变量可以在其他cpp文件中使用, 当我给他前面加上static声明的时候,它作为一个静态全局变量,作用域反而被限定在本文件里了,静态全局变量和全局变量的区别仅在于作用域,从存储位置来说他们都是存储在静态数据区。
字面量,一般字面量指的就是10,"body"之类的,其中字符串字面量存储在静态数据区,但是不可被修改,其他字面量存储在只读数据区
一些基础定义 变量(variable)是有名字的对象 对象是(object)存储某个类型的值的内存区域(memory) 值(value)是按照类型进行解释的比特集合 类型(type)定义一组可能的值以及一组(作用对象的)操作
参考文献
未完待续