$ cat VLA.c
Why sizeof(a) is zero ?
Code:
#include<stdio.h>
void main()
{
int a[0];
int *b;
/*As we say a[0] is equivalent to *(a+0) */
printf("\n a = %d b = %d",sizeof(a),sizeof(b));
}
$gcc VLA.c
$ ./a.out
a = 0 b = 4
Comment