目录
1.一个有十个指针的数组,指针指向一个函数,该函数有一个整形参数并且返回一个整形数
1.一个有十个指针的数组,指针指向一个函数,该函数有一个整形参数并且返回一个整形数
做这种题遵循一个规则,从右到左,从远到近,括号优先
int (*p[10])(int)
2.下面程序的输出是
//下面程序的输出是
int main()
{
int a[5]={1,2,3,4,5};
int *ptr=(int *)(&a+1);
printf("%d %d",*(a+1),*(ptr-1));
return 0;
}
所以必须明白强制类型转换,a代表首元素地址,而&a则代表数组首地址,数组首地址加一则代表跳过整个数组等于a+sizeof(int*5);对它进行强制类型转换后,把它变为一个int 型的指针,ptr-1=a+5*int-int=a+4*int 。