可能重复:
gcc 编译错误:cast 指定数组类型
我想检查 (int * ) 和 (int []) 的区别。当我编译以下代码时,第一行正常。但是对于第 2 行,我的编译器给出了以下错误:
test.c:10: error: cast specifies array type
谁能告诉我这个错误的含义以及我在哪里做错了?
#include<stdio.h>
void abc(int *a)
{
int i;
for(i=0;i<2;i++)
{
printf("%d",((int * )a)[i]); //(1)
printf("%d",((int [])a)[i]); //(2)
}
}
int main()
{
int b[2]={0,1};
abc(b);
return 0;
}