#include <stdio.h>
int main(void)
{
int a=17;
scanf("%d",&a);
int arr[a];
printf("%lu",sizeof(arr));
}
Memory for array "arr" should be allocated at compile time but in this case it takes the value of "a" from the user(run-time) and allocates the same size for the array.