说明下面变量的定义char (*p[])(); _____________________char *p()[]; _____________________char (*p)[10][10]; _____________________char(*(*p())[])[]; _____________________

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/24 02:29:36
说明下面变量的定义char (*p[])(); _____________________char *p()[]; _____________________char (*p)[10][10]; _____________________char(*(*p())[])[]; _____________________
xSMO@+]IKXNąKB^*jdMEcLx*4j"?3NWo;|MI3̹ν7"EIT/PCKƏzXeK8r̯^%1@qcb"rhkO@z%&(.\O26xsIfz-!9Pxkh|,!L{Kk 3 b_J{Ї ރ]P؃ t2AC"\6y1&ߤot˥ AT7l,oH$Q:!* $}> [XSR=BHK z8>;sjriV7H֠(;]I+b]ǻ%X.@2y*JTh (pN%u fbsFdڏ9=;58Gz+#U ( 8)ߑZ*#UILE|

说明下面变量的定义char (*p[])(); _____________________char *p()[]; _____________________char (*p)[10][10]; _____________________char(*(*p())[])[]; _____________________
说明下面变量的定义
char (*p[])(); _____________________
char *p()[]; _____________________
char (*p)[10][10]; _____________________
char(*(*p())[])[]; _____________________

说明下面变量的定义char (*p[])(); _____________________char *p()[]; _____________________char (*p)[10][10]; _____________________char(*(*p())[])[]; _____________________
1.3同上面那位老兄的看法,顺便给个例子:
1:
char (*p1[3])();
char (*func1)() = &aa;
char (*func2)() = &aa;
char (*func3)() = &aa;
p1[0] = func1;
p1[1] = func2;
p1[2] = func3;
static char aa(void){ return 'K';}
3:
char (*p3)[10][10];
char chararry[10][10];
p3= &chararry;
(*p3)[0][0] = 'C';
第二个VS编译不通过.
第四个也比较奇怪,能编译通过,但函数指针通常写法(*p)(),而这里是(*p()).
会不会是函数声明?
char(*(*p4())[])[] { return NULL;}
作为成员函数的定义,能编译通过.
而且p4还能被调用.