1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
int f (int a[], int a2[73] /*legal, but meaningless!*/, int m [] [3] /* int m [][] leads to error for m[1] */ ) {
int b[10];
int c[10];
/* int pa[]; illegal!*/
int *p = (int *) malloc (sizeof (int) * 10);
a++;
a2++;
/* b++; illegal! */
printf ("a: %d / a2: %d / b: %d / m: %d / m[0]: %d / p: %d / int: %d\n",
sizeof (a), sizeof (a2), sizeof (b),
sizeof (m), sizeof (m[1]), sizeof (p), sizeof (int));
/* b = c; illegal*/
/* b = a; illegal */
a = b; /* okay! */
}
int main (void) {
int a[10];
int m[10][3];
int x = f (a, a, m);
{
int k[x];
k[2] = 12;
}
}
|