C语言中一些小问题随写

1328 人浏览 | 时间: 2015-06-26 20:05:52 | 作者: codexia

一、一些复杂类型的读法
int *p  一个指针,指向int型数据
int**p 指向指针的指针,通常与int*p[4] 一起用
int*p[4]  包含4个元素的数组,每个元素是一个指针
int(*p)[4] 指向一个包含4个元素的一维数组的指针
struct Student *p    ( struct Student *)p    结构体指针
double *(double*)  参数为double指针,返回值为double的指针的函数
double(*)()指向函数的指针,函数返回值为double{这个需要从内往外拆,具体方法往后看}

方法:以int (*(*fp)(void *))[10];为例


从内往外拆
    第一步(*fp)(void *)
    这是一个参数为void指针,返回值为一个指针fp的函数,fp指向....
    第二步int (*)[10]
    这是一个指向一维数组的指针
    第三步合体
    这是一个参数为void指针,返回值为一个指针fp的函数,fp指向一个指向一维数组的指针

以下可供领悟参考
1---- int * (*(*)[10]) (void)
p是一个指针,指向一个有10个元素的数组,每个元素为一个指针,指向一个函数,函数参数为void,返回值是int型指针
2-----int ( * ( *x ) [10]) ();
从内往外读,x为一个指针,指向一个包含10个元素的一维数组,数组里每个元素是指针,每个指针指向一个函数,函数参数为空,返回值是int
3----

请微信扫码阅读。
为防止恶意爬虫,
已开启反爬机制,
理解哟~~~~
标注
评论
站内搜
百度搜
传送到手机
手机扫码,识别文字,完成传送x
加载中...
标注内容x
加载中...
添加标注x
收藏 0 点赞 0