顺时针螺旋法则(clockwise/spiral rule)教你认变量类型的实践
论坛看到的好帖子(网摘http://bbs.byr.cn/#!article/CPP/55608)关于顺时螺旋法则的实践,以前这种很复杂的函数总是很难下手去解,试了螺旋法则是要容易不少。
下面是一些实践用的理解的例子。
char (*(*x())[])()
1.x是一个参数为空的,返回值为指向一个指向参数为空,返回值为char类型的函数指针的数组指针函数。
int (*func)(int *p);
func是一个指向参数为int型指针,返回值为int类型的函数的指针。
int (*func) (int *p, int(*f)(int *))
func 是一个指向 一个参数为int型指针,另一个参数为……,返回值为………函数的指针
func 是一个指向 一个参数为int型指针,另一个参数为一个参数为int指针类型返回值为int的函数指针 ,返回值为int的函数的指针
int (*func[5])(int * p)
func 是一个………………的数组。
func是一个指向…………的指针的数组。
func是一个指向 参数为int型指针的,返回值为int型的函数的指针数组。
int (*(*func)[5])(int * p)
func是一个指向…………的指针
func是一个指向……的数组指针。
func是一个指向……的指针的数组指针、
func是一个指向一个参数为int型指针变量,返回值为int型的函数指针的数组指针、
char(*(*x[3])())[5]
x是一个………………的数组
x是一个…………的指针数组
x是一个参数为空,返回值为…………的函数的指针数组
x是一个参数为空,返回值为指向……的指针的函数的指针数组
x是一个参数为空,返回值为指向char型数组的指针的函数的指针数组。
艰难的成长