2.2 变量
1) 问:变量在内存中存放和它的值还是类型有关系?
答:和值无关,而和类型有关
2) 问:局部变量和全局变量的区别?
答:局部变量在函数内定义说明,作用域在函数内
而全局变量在函数外定义,作用域在整个源程序中
2.3 基本内置类型
2.5 声明与定义
3) 问:声明与定义的区别?
答:定义 是创建对象并为此分配一块内存并取名,此名即为变量名
声明 是告诉编译器这个名字已经匹配到内存了,且已预订,不在作为变量名
2.6 static 与extern
4) 问:static 修饰局部变量和 extern 全局变量有什么不同?
答:static 修饰 局部变量时 ,变量放在静态数据区,生命周期一直持续到整个程序执行结束
extern 修饰 全局变量时, 变量可被本源文件访问,也可被q其他源文件访问
5) 问: extern 在声明变量时,可以不指定类型吗?
答:可以不指定
2.7 铁布衫 const
6) 问:const 怎么看修饰哪个 变量?
答: 一 , 现将类型去掉;二,看const 修饰谁,谁就有铁布衫(只读,不能修改)
2.8 隐形刺客 auto
7) 问:什么是auto变量?
答: 在函数生命周期中声明的变量叫局部变量,也叫自动变量(这个变量放在内存栈中,声明入栈,使用完出栈,先进后出)
2.9 闪电飞刀 register
8) 问:为什么CPU在访问该变量时,速度最快?
答: 变量放入CPU内部存储器,省去了CPU从内存中抓取数据 的时间,以此提高效率。
2.10 专一王子 volatile
9 ) 问: 用volatile修饰的变量,访问变量从哪读取?
答:volite修饰变量后,不管其值有无变化,每次对其值访问时,都会重新从变量的地址里读取,而不是使用保存在寄存器里的备份。
2.11 typedef
10)问:typedef 的作用?
答: 为某一类型创建自己的名字。
2.12 枚举enum
2.13 联合体
11) 问:结构与联合的区别?
答:结构中 ,成员有各自的内存空间,总长度为各成员长度和;
联合中,成员共享一段内存空间,总长为各成员最长的长度。