首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >理解特定C指针定义的学校作业

理解特定C指针定义的学校作业
EN

Stack Overflow用户
提问于 2018-05-04 17:57:40
回答 1查看 82关注 0票数 0

在一门C语言入门课程中(在一所工程大学里),我们被要求用沿着int (*(*f[5])(void))[10];线的指针来标识一个声明。

我目前对声明的理解是“一个包含10个函数指针的数组,每个指针返回一个int指针,并且不带任何参数”。

有人可以证实我对这项声明的理解,并告诉我这些定义在实践中是否有用?

EN

回答 1

Stack Overflow用户

发布于 2018-05-04 18:15:53

int (*(*f[5])(void))[10](*(*f[5])(void))[10]声明为int

这意味着(*(*f[5])(void))是一个10 int的数组。

这意味着(*f[5])(void)是指向10 int数组的指针。

这意味着(*f[5])是一个接受void并返回一个指向10个int数组的指针的函数。

这意味着f[5]是一个指向函数的指针,该函数接受void并返回一个指向10个int的数组的指针。

这意味着f是一个由5个指针组成的数组,这些指针指向以void为参数的函数,并返回一个指向10个int的数组的指针。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50172236

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档