C语言的一些复杂类型声明

一些比较复杂的声明实例(C Primer Plus中的例子)
数组后面的[]和函数名后面的()具有相同的优先级,它们比*的优先级高。
都是从左往右结合。

int board[8][8];

int ** ptr;   
//一个指向指针的指针,每个元素都是一个指向int的指针
int * risk[10];
//内含10个元素的数组,每个元素都是一个指向int的指针
int (* rusks)[10];
//一个指向数组的指针,该数组内含有10个int类型的值
int * oof[3][4];
//一个二维数组,每个元素都是指向int的指针
int (* uuf) [3][4];
//一个指向3*4二维数组的指针,该数组内含有int类型值
int (* uof[3]) [4];
//一个内含三个指针元素的数组,每个指针都指向数组,该数组内含有4个int型


//指针,pr,pg都是指向float类型变量的指针
float * pr,* pg;

//函数指针
char * fump(int);
char (* frump)(int);
char (* flump[3]) (int);

函数指针常用作另一个函数的参数,告诉该函数要使用哪一个函数。

声明函数指针:先声明一个该类型的函数,再把函数名替换为(* pf)形式的表达式。pf就成为指向该类型函数的指针。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值