—可以给指针赋值,但是要进行强制类型转换
int n =99;
int p1 = &n;
int m = (int)p1;
int p2 = (int)m;
------ (char)&i
先看括号中的char定义了一个字符指针的数据类型
因为*(取值操作)和&(取地址操作)的优先级相同所以看结合性,因为又都是右结合,所以从右向左计算,愿意为将i的地址取出来强制类型转换成char型然后按照char数据类型操作进行取值。
—指针函数和函数指针
指针函数是返回值是指针的函数
函数指针是指向函数的指针
(1) 指针函数声明
类型标识符 *函数名(参数表)
int *f(x,y);
定义了返回值为数组类型的指针
(2)函数指针声明
int (f) (int x); / 声明一个函数指针 /
f=func; / 将func函数的首地址赋给指针f */
例: void (*fptr)();
fptr=&Function;
fptr=Function;
x=(*fptr)();
x=fptr();
链接:http://www.cnblogs.com/gmh915/archive/2010/06/11/1756067.html