1、 不能用一个整数给一个指针变量赋初值。例如: int *pointer_1=2000; 是错误的,写此语句者的愿意可能是将地址2000作为指针变量pointer_1的初值,但编译系统并不把2000认为是地址(字节编号),而认为是整数,因此认为是语法错误,显示出错信息,可以将一个已定义的变量的地址作为指针变量的初值。
int i; //定义整型变量
int *pointer_1=&i; //将变量i的地址作为指针变量pointer_1的初值
2、 在定义指针变量时必须指定基类型。原因:不同类型数据在计算机系统中的存储方式和所占的字节数不同。
对指针变量的定义“int pointer_1,pointer_2;”,也可以这样理解:
pointer_1和pointer_2是整型变量,如同int a,b;定义了a和b是整型变量一样。而*pointer_1和*pointer_2是pointer_1和pointer_2所指向的变量,显然pointer_1和pointer_2是指针变量。注意:只有整型变量的地址才能被放到基类为整型的指针变量中。
通常为了方便,一般都这样简单地叙述:pointer_1,pointer_2是指针变量。其实,完整地说应该是:pinter_1和pointer_2是指向整型数据的指针变量。