preFly

人要有所担当,
更要有所取舍!
各种变态指针

float**def[10]

一个含有10个元素的数组,数组的元素类型为float**,指向float*对象的指针

float(**def)[10]

一个指针,这个指针(def)指向另一个指针(tmp),而这另一个指针(tmp)指向一个数组元素为float变量的大小为10的数组,以下代码说明了这个意思

float arr[10]={1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f};
float (*p)[10]=&arr;
float (**def)[10]=&p;

float*(*def)[10]

一个指向数组的指针,这个数组大小为10,元素类型为float*

float (*def)(int)

一个指向函数的指针,这个函数接受一个int值作为参数,返回值为float型

float (*def[10])()

一个数组,这个数组有10个元素,每个元素都为指向函数的指针,这些函数无参数且返回值为float型

最变态的一个:

int (*(*def)(int, int))(int)

def是一个指向函数的指针,指向的函数的类型是有两个int参数并且返回一个函数指针的函数,返回的函数指针指向有一个int参数且返回int的函数~~⊙﹏⊙b汗

posted on 2010-10-08 22:29  preFly  阅读(661)  评论(0编辑  收藏  举报