问题:1.static修饰变量,变量如何改变?
2.const使用方法?
3.auto的使用?
4.变量被register修饰,变量会怎么样?
5.局部变量与全局变量的区别?
6.int add = 0x12345678;
int *p = (int*)add;
add 是什么?add装的是什么?p是什么?p内装的是什么?*p里装的是什么?&p又是什么?
7 .typedef的用处?
8.#define的用法?
9.void类型的变量是怎么样的?
10.enum类型的规律?
解答:1.static修饰局部变量,该变量只在初次运行时进行初始化工作,且只进行一次。
static修饰全局变量,该变量改变了作用域范围,只有本文件可见。
2.const修饰变量,该变量的值不变。
3.在“int a = 10”的定义中,在编译过程中,编译器会在“int a = 10”前加上auto。意味着当前变量的作用域为当前
函数或代码段的局部变量。
4.该变量会作为一个寄存器变量,变量访问速度会达到最快。
5.局部变量作用与自身所在函数,全局变量作用于源程序文件.
6.add为整形变量,add装的是0x12345678的二进制数,以十进制表示出来,p是整形指针变量名,p里装的是0x12345678的
的二进制数,以地址的方式表示出来,代表地址0x12345678.*p是通过去访问地址0x12345678这个地址处的数据。(如果
你试图去打印它,会出错,因为这个地址你不一定有权限去访问)。&p是取出整形指针变量p的地址,p为变量,所有它有地址
。
7.第一个为给变量一个容易记而且意义明确的新名字,第二个为简化一些比较复杂的类型声明。
8.#define PI 3.14,用PI表示3.14.
9.void可以表示没有数据。也可以表示某种任意类型的数据,表示空类型。void* 表示任意数据的指针类型,程序如要使用void*
类型数据,应该将它强制地转换成某种具体的指针类型。
10.enum Color
{
GREEN = 1;
RED,
BLUE,
GREEN_RED = 10;
GREEN_BLUE
}ColorVal;
GREEN = 1; RED = 2; BLUE = 3; GREEN_RED = 10; GREEN_BLUE = 11;