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);
然后,程序将崩溃。我知道这可能看起来很奇怪,但我正在学习并想知道其中的区别。