void f(int *a, int n)
{
int i;
for (i = 0; i < n; i++)
{
printf("%d\n", *(a+i));
}
}
main()
如果我打电话,上面的代码可以正常工作:
int a[] = {1,2,3};
int *p = a;
f(a, 3);
但如果在main()
,我做了:
int *a =(int*) {1,2,3};
f(a, 3);
然后,程序将崩溃。我知道这可能看起来很奇怪,但我正在学习并想知道其中的区别。