当前位置:  技术问答>linux和unix

一个C的问题

    来源: 互联网  发布时间:2017-01-15

    本文导语:  本帖最后由 maximdx 于 2011-11-09 18:05:01 编辑 大家好, 我有一个C语言的问题想请教大家: 我想知道 int *(a[5]) 和 int (*a[5]) 这两个声明有区别吗?如果有,他们的区别是什么? 我还有一个扩展问题: int *(*a[5])(int) ...

本帖最后由 maximdx 于 2011-11-09 18:05:01 编辑
大家好,
我有一个C语言的问题想请教大家:
我想知道 int *(a[5]) 和 int (*a[5]) 这两个声明有区别吗?如果有,他们的区别是什么?
我还有一个扩展问题:
int *(*a[5])(int) 这个表示什么?
先谢谢大家了

p.s. 这三个声明都可以通过编译

|
int *(a[5]):a是一个指向含有5个整数的数组的变量,相当于一个指针变量。
如int b[5]; a = b;
int (*a[5]):a是指针数组,数组中没每一项都指向整形指针。
如int b, c; a[0] = &b; a[1] = &c;

最后一个我就不懂了。功力不够啊!

|
int *(a[5])  的括号没用,等于int* a[5]; 存储5个int*的数组。

int (*a[5]) 的括号没用,和上边一样。

int *(*a[5])(int) 一个函数指针,我也看不懂,不建议你这样分析,最好提前做好typedef别名。

我估计里边涉及的内容有:函数指针,指针数组int* a[5],数组指针int (*)[5]。




|
int *(*a[5])(int)
a是个长度为5的数组,数组的每个元素是个指针,,这个指针是个函数指针
而这个函数的形参为int,返回值为int *

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • 简单问题简单问题简单问题简单问题
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • 小问题,急问题,重大问题!!!
  • sharepoint 2010中item.Update()和item.SystemUpdate 修改数据版本问题解决
  • 弱弱的一问,linux下的中文问题及网络问题,分不是问题
  • 八个问题帮你快速了解Docker
  • 请教两个小问题:一个cgywin下使用vi的问题,另一个socket的问题
  • 错误:将'const x'作为'x'的'this'实参时丢弃了类型限定问题解决
  • 网页的编码问题!或者java的编码问题,由此引出一条解决中文问题的思路
  • nginx Windows版相关问题及使用说明
  • 死锁的问题 多级锁定问题 循环锁定问题
  • vs2010下禁用vmware的方法以及解决vmware插件导致vs2010变慢的问题
  • [问题]双系统出现的问题!求问题的原因和解决办法!
  • Linux下时钟同步问题:Clock skew detected原因分析及解决方法
  • 初学者问题。一个是编译hello world的问题,一个是配置ssh的问题
  • c/c++服务器程序内存泄露问题分析及解决
  • C程序问题:哪个高手帮我解释下下面的问题,主要是a[0]和&[0] 的区别 和编译器的问题??
  • ​部署 Docker 前必须问自己的四个问题
  • swing的问题还是jbuiler的问题??
  • spring的事务类型及spring和hibernate可能导致的问题分析
  • 菜鸟第一次安装红帽子7.2的一箩筐问题。每个问题会开个帖子,各放100分!请有安装经验的老鸟们帮忙解决。第二个问题:什么是LILO?怎么样


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3