C语言中复杂的声明

C允许用户自定义数据形式。

虽然我们常用一些简单的数据形式,但是根据需要有时候会用到复杂的形式。

那么久会涉及定义一些复杂的声明。定义复杂声明之前,就必须能看懂复杂的声明。

这就需要了解一些规则和约定

符号         含义

*              表明一个指针

()            表明一个函数

[]            表明一个数组

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

规则:

1、[]和()的优先级相同,遵循从左往右结合律;

2、[]和()的优先级比*高。

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++

例子:

int * risks[10];   //risks是一个指针数组,而不是一个指向数组的指针;

int (* risks)[10];   //risks是一个指向数组的指针;

int (* uuf)[3][4];  //圆括号使得*先和uuf结合,说明uuf是一个指针,指向二维数组的指针;

char * fump(int); //返回字符指针的函数;

char (* frump)(int); //指向函数的指针,该函数的返回类型为char;

char (* flump[3])(int);   //内含3个指针的数组,每个指针都指向返回类型为char的函数,该函数的参数是一个int类型;

转载于:https://www.cnblogs.com/grooovvve/p/9956938.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值