指针与变量类型:
由于不同类型的变量与内存中所占用的字节不同,而指针又是用来保存内存地址的变量,因此
指针只能存储与它类型相同的变量地址:
如:
float a:定义了一个浮点型变量a。编译器接到此定义通知后会在内存中开劈出一块内存区域,
该区域的大小刚好可以存放浮点型数值。
int *p:定义了一个整型指针变量p。编译器接到此定义通知后会在内存中开辟出一块内存区域。
该区域的大小刚好可以存放整型数值。
这样,将浮点型变量a的地址赋给整型指针变量p时,由于类型的不同,会导致编译出错。
如: p=&a;
会出错,大意为不能将浮点型指针转换成整型指针。
由于不同类型的变量与内存中所占用的字节不同,而指针又是用来保存内存地址的变量,因此
指针只能存储与它类型相同的变量地址:
如:
float a:定义了一个浮点型变量a。编译器接到此定义通知后会在内存中开劈出一块内存区域,
该区域的大小刚好可以存放浮点型数值。
int *p:定义了一个整型指针变量p。编译器接到此定义通知后会在内存中开辟出一块内存区域。
该区域的大小刚好可以存放整型数值。
这样,将浮点型变量a的地址赋给整型指针变量p时,由于类型的不同,会导致编译出错。
如: p=&a;
会出错,大意为不能将浮点型指针转换成整型指针。