C语言中 指针各个符号的含义int *(*p)();

C语言中指针各个符号的含义int*(*p)();... C语言中 指针各个符号的含义int *(*p)(); 展开
 我来答
匿名用户
推荐于2017-11-22
展开全部
*作为定义的时候,是一个左结合操作符,优先跟其左边的描述相结合
int * : 整型指针
(*p) : 用括号调整优先级,强迫其与p作结合,表示p是一个指针类型(否则此处p应与"()"结合作为一个函数,而该"*"则应跟左边的"int *"结合作为"int **"整型指针的指针)
如此,相应的我们就很容易解释其他的如:
int * 整型指针

int ** 整型指针的指针

int * a[n] 整型指针数组

int (*a)[n] 整型数组的指针
int (*a)(int) 需求整型参数且返回整型数的函数指针
...
搞懂了符号优先级就很容易理解了,另外有些符号优先级是跟编译器有关的,即标准中未定义行为(UNDEFINED BEHAVIOR),尽量不要在程序中使用这种语法。
My_Persistence
2016-01-15 · TA获得超过3468个赞
知道大有可为答主
回答量:1201
采纳率:81%
帮助的人:436万
展开全部
int* (*p)();  //声明了一个指向形式为:int*  func()的函数指针,例如:
int* func()
{
  .....
}
p=func;      //p指向函数func
然后就可以使用指针p来调用func函数了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
furious_tauren
2016-01-15 · TA获得超过4056个赞
知道大有可为答主
回答量:1913
采纳率:100%
帮助的人:772万
展开全部
这类东东都可 按运算符优先级来看
首先,括号内优先级最高,*p 说明 p 是个指针
再次, (*p)() 说明p是指向函数的指针
返回类型为 int *
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
天雨下凡
2016-01-15 · 知道合伙人教育行家
天雨下凡
知道合伙人教育行家
采纳数:17564 获赞数:65159
爱电脑、爱数学、爱音乐; 熟悉VB、C/C++、JAVA; EXCEL与VBA有所研究…… 数学,一些会,一些被忘却……

向TA提问 私信TA
展开全部
p是一个函数指针,指向函数,返回值是int *
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式