
语句”int(*p)();” 的含义是
3个回答
2016-06-29
展开全部
*p[4]这指针数组,定义一个数组,里面存放的是指针。(*p)[4]定义的是一个指向一维数组的指针,这是一个指针,p++相当于p的地址相加了1*4举例说明:#includevoidmain(){inta[2][2]={{1,2},{8,9}};int*p[4],(*q)[2];q=a;p[0]=&a[0][0];p[1]=&a[0][1];p[2]=&a[1][0];p[3]=&a[1][1];for(inti=0;i<4;i++)printf("%d\t",*p[i]);printf("\n");for(intj=0;j<2;j++,q++){printf("%d\t",(*q)[j]);}printf("\n");}}输出的结果是:指针数组:1,2,8,9指针数组中的每个元素都要给其赋予地址,否则出错数组指针:1,9数组指针只要开始赋值头地址,之后执行q++是相加维数,所以结果是1,9而不是1,2
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询