·······[TOC]

1.

sizeof(变量) 或者 sizeof(类型) 来探测

sizeof 是关键字,不是函数

类型修饰符

==short== 更短

==long== 更长

==signed== 有符号

==unsigned== 无符号

如果省略了基本类型,默认为 int

short = short int

unsigned = unsigned int

类型能多次修饰

long long = long long int

变量及其作用域

生存期:什么时候分配内存,什么时候释放内存

作用域:在什么位置可见,什么位置不可见

全局变量

定义在函数外的变量,静态的生存期

全局变量可以初始化,可以用表达式

全局变量可以在多个函数间,多个文件间共享

全局位置不能执行非定义语句

变量可以在声明时初始化,也可以只声明。 当未初始化时,变量的值是随机的,此是很多bug发源地

局部变量:

函数内部定义,函数执行时存在

局部变量可以和全局同名,会产生覆盖效果

内存的类型

程序分配的内存,主要在“栈”和“堆”这两部分。“堆”比“栈”复杂 第一课 - 图1

栈区(stack): 自动变量,函数执行时的上下文环境

堆(heap): 程序运行中,动态地申请及归还

堆和栈的比较

第一课 - 图2