首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

*&h,该如何处理

2012-03-31 
*&h*&h是什么意思呀??char*(*pFn)(int(*)(char*,int),char**)是什么意思?[解决办法]char*(*pFn)(int(*fun)

*&h
*&h
  是什么意思呀??

char*(*pFn)(int(*)(char*,int),char**)
是什么意思?

[解决办法]
char*(*pFn)(int(*fun)(char*,int),char**)


基础知识:char(*fun)(int ,int )指针函数,参数为两个int型的参数
char* (*fun)(int ,int )返回函数指针的函数


所以觉得上面你写的有点问题
char*(*pFn)(int(*fun)(char*,int),char**)
这个可以理解为:1,函数pFn有两个参数 int和char**两种类型。
但第一个参数又是你个返回值为int型的函数这个函数有两个参数分别为 char* 和int

【个人理解仅供参考】
[解决办法]

pFn ----指向函数的指针

char*(*pFn)(int(*fun)(char*,int),char**) ---- 指针pFn所指函数的第一个形参是指向函数的指针fun, 第二个形参是char**. 该函数的返回值类型是 char*
[解决办法]

探讨
pFn ----指向函数的指针

char*(*pFn)(int(*fun)(char*,int),char**) ---- 指针pFn所指函数的第一个形参是指向函数的指针fun, 第二个形参是char**. 该函数的返回值类型是 char*

[解决办法]
char*(*pFn)(int(*)(char*,int),char**) 可以这样理解,(int(*)(char*,int),char**) 这就是函数pFn中的参数,第一个参数类型是int(*)(char*,int),它是函数指针,第二个参数类型是char**,这个函数pFn的返回值是char*,这个函数pFn它是指针函数,类型是:
char*(*pFn)(int(*)(char*,int),char**) 类型太长可以这样定义 
如:
typedef char*(*fType)(int(*)(char*,int),char**) 这样定义pFn指针函数可以这样定义了
fType f;

[解决办法]
*和&是一对逆运算符,&取地址,*按地址取内容
所以* (&H) 的意思是取H的地址,接着按此地址取内容,即H的值
[解决办法]
*&H可以认为两次运算抵消掉了。*&H与H等价
若p是指针,则&*p可以理解为p指向对象的地址,即p的内容,&*p与p等价
[解决办法]
第一个问题:指针变量的引用!*&H 比如说char *&H;把&H看成一个指针变量,&H表示引用!char * 是类型,&H 表示引用

热点排行