#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. Please Clarify.