*******************对指向函数的指针变量,像p+n、p++、p--等运算时无意义的。
解释:首先函数是存放在进程的CS段(也就是代码只读区) 对于p+n
它的意思是p+n*sizeof(p所指向的数据类型)
但是函数是没有类型的
但是习惯上是把 返回值类型+参数的类型 叫做函数的类型
所以如果指向函数的指针+1
那么他应该加多少个字节?
呵呵 不管加多少字节
都是无意义的 因为函数不是数据 而是代码 你用指针取出来的东西是毫无意义的
*******************如指针p指向一个数组,在函数中使用了这个指针,这时我想用p++来调用数组的第二个元素怎么办?
如果p指向了数组 那么你p++就是加了一个数组所有元素的字节数
int a[10] 和 int (*p)[10] 你认为p和a 的数据类型一样吗?
肯定是不一样的
指针p指向一个数组
a指向的是整形元素
如果你要用p来访问第二那么这样
首先转化类型 printf("%d",*((int *)p + 1));
就可以啦
呵呵 写了这么多
希望你能彻底理解指针
祝你好运
加油 !!!