1、*p和&p的区别
*p是通过*去访问p地址中的数据,&p是取p的地址
2、变量、地址、变量值
变量是在其作用域内可以改变的量,每个变量都有自己的地址,变量名和它所在的内存空间绑定在一起,
变量的值是变量所对应的内存区域内存放的二进制序列,变量的值不会因为变量类型的变化而改变
3、什么是形参,什么是实参
形参:形参是函数被调用时用于接收实参值的变量,根据实际需要可有可无。
实参:是在调用时传递给函数的参数. 实参可以是常量、变量、表达式、函数等, 无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值, 以便把这些值传送给形参。
4、int,long int 的范围及区别
int:-2^31~(2^31-1)
long int::-2147483648~2147483647,-2^31~(2^31-1)
5、单精度(float)和双精度(double)的区别
单精度实数在内存中占32bit,有效数字为6~7位
双精度实数在内存中占64位,有效数字为15~16位
6、const 修饰时,不变的到底是什么?
将类型去掉,看const修饰谁 ,谁的值就不变
7、typedef
将一种数据类型定义为一个新名字;给一个变量起一个简单明确的新名字,简化一些复杂变量的类型声明
8、#define
宏定义,当想在程序中修改某个值,而这个值又在很多地方会用到的时候。
缺点:无法对宏定义中的变量类型进行检查,
9、struct
struct自定义数据类型
struct 结构名
{
类型 变量名;
类型 变量名;
……
}结构变量;
10、为什么需要枚举?枚举有什么好处?
枚举可将范围限制在有限的集合内,使代码更容易理解,也易于维护。