一个超昏的C语言问题,请大家帮着看一看。
下面的这个定义该怎么理解呀?有错误吗?
int *( *( *a[5]) ( ) ) ( );
int *( *( *a[5]) ( ) ) ( );
作者: redapple0412424 发布时间: 2011-06-16
a是一个有五个元素的数组
数组内容是一个指针
指针指向的是一个函数
函数返回一个指针
这个指针指向另一个函数
函数为返回一个int *的函数
数组内容是一个指针
指针指向的是一个函数
函数返回一个指针
这个指针指向另一个函数
函数为返回一个int *的函数
作者: xiaoguangzaia 发布时间: 2011-06-16
http://topic.csdn.net/u/20070112/09/35186E5A-0D94-4EA6-9B72-C5463CB3D1F3.html
作者: xiaoguangzaia 发布时间: 2011-06-16
引用 1 楼 xiaoguangzaia 的回复:
a是一个有五个元素的数组
数组内容是一个指针
指针指向的是一个函数
函数返回一个指针
这个指针指向另一个函数
函数为返回一个int *的函数
a是一个有五个元素的数组
数组内容是一个指针
指针指向的是一个函数
函数返回一个指针
这个指针指向另一个函数
函数为返回一个int *的函数
up++!
C语言专家编程里有方法
作者: cqltwslt 发布时间: 2011-06-16
int *( *( *a[5]) ( ) ) ( );
a[5] //数组
*a[5] //数组元素是指针
(*a[5]) ( ) //指针是一个函数指针
*(*a[5]) ( ) //函数返回一个指针
( *(*a[5]) ( ) ) ( ) //返回的指针是另一个函数指针
int *( *(*a[5]) ( ) ) ( ); //该函数指针又返回一个 int * 类型
a[5] //数组
*a[5] //数组元素是指针
(*a[5]) ( ) //指针是一个函数指针
*(*a[5]) ( ) //函数返回一个指针
( *(*a[5]) ( ) ) ( ) //返回的指针是另一个函数指针
int *( *(*a[5]) ( ) ) ( ); //该函数指针又返回一个 int * 类型
作者: linxren 发布时间: 2011-06-16
C/C++ code
int *( *( *a[5]) ( ) ) ( ); a[5] //数组 *a[5] //数组元素是指针 (*a[5]) ( ) //指针是一个函数指针 *(*a[5]) ( ) //函数返回一个指针 ( *(*a[5]) ( ) ) ( ) //返回的指针是另一个函数指针 int *( *(*a[5]) ( ) ) ( ); //该函数指针又返回一个 int * 类型
作者: linxren 发布时间: 2011-06-16
函数指针数组
作者: lanxue_1988 发布时间: 2011-06-16
int *( *( *a[5]) ( ) ) ( );
a[5] //数组
*a[5] //数组元素是指针
(*a[5]) ( ) //指针是一个函数指针
*(*a[5]) ( ) //函数返回一个指针
( *(*a[5]) ( ) ) ( ) //返回的指针是另一个函数指针
int *( *(*a[5]) ( ) ) ( ); //该函数指针又返回一个 int * 类型
不过一般只有自认为自己超牛、且喜欢做不切实际的事情的人才会使用这样的代码。
这样的代码,他自己在多少年后,自己老了的时候,恐怕还看不懂。
这样的代码,维护性很差。认真做事的人是不用的。
a[5] //数组
*a[5] //数组元素是指针
(*a[5]) ( ) //指针是一个函数指针
*(*a[5]) ( ) //函数返回一个指针
( *(*a[5]) ( ) ) ( ) //返回的指针是另一个函数指针
int *( *(*a[5]) ( ) ) ( ); //该函数指针又返回一个 int * 类型
不过一般只有自认为自己超牛、且喜欢做不切实际的事情的人才会使用这样的代码。
这样的代码,他自己在多少年后,自己老了的时候,恐怕还看不懂。
这样的代码,维护性很差。认真做事的人是不用的。
作者: vcf_reader 发布时间: 2011-06-16
你妹,谁胡这么写?难道真的有意义?
作者: linlouyijian 发布时间: 2011-06-16