朋友那本书对指针还真的没解释多少.请看下面这个例子,看了你也应该会明白了float f = 1.1; // 定义一个
1、变量的地址用&运算符获取。
int a;
float b;
int *pa; float *pb;
pa = &a, pb = &b; //这里用&获取,或者说&表达式即是一个变量地址。
2、变量的地址,实际上是一个无符号整数类型。
int a = 2;
float b = 3;
if ((unsigned)&a > (unsigned) &b)
printf("变量a的地址大于变量b的地址\n");
3、指针也是一个变量,也具备地址。
int a = 2;
int *pa = &a;
int **ppa = &pa; //ppa保存的是指针的地址
4、其它常用的指针形式
int *pa[2]; //指针数组,有指针变量组成的数组
int a[2][2] = {1,2,3,4};
int (*pa)[2] = a; //数组指针,指向具备2个整型元素的数组。
void hello() { ; }
void (*pfunc)(void); //函数指针
void *getaddr(int var_addr); //返回类型为指针的函数
&f表示变量f的存放地址,*f表示定义f是指针变量,而f的值是个地址。也就等于前面的&f,所以那个读文件的函数中,第一个放的是地址,先定义*f,所以把f方在那里是可以的,因为此时f值是一地址