몇년만에 다시 c언어 복습하는데
, 김 종민님이 작성구조체 배열 공부하던중 생각났는데,
예전에는 분명
입력받은 값을 이용해 배열의 크기를 지정해주려면 malloc을 사용해야되던거로 기억하는데 갑자기 궁금해서 몇가지 시도해보는데,
그냥 배열에 변수를 집어넣어도 오류없이 진행이 되더군요.
심지어 2칸짜리 배열을 선언해도(변수로) 3열~~ 등 값이 막 들어가더군요.
왜 이런현상이 일어나는지, 혹은 제가 잘 못 알고 있던건지 설명해주실분 있으신가요.
(codeblock GCC)
#include <stdio.h>
int main()
{
int a=0;
scanf("%d",&a);
int p[a];
p[1]=1;
p[0]=0;
p[2]=2;
p[3]=3;
p[4]=4;
printf("%d,%d,%d,%d,%d,%d",p[0],p[1],p[2],p[3],p[4],p[5]);
return 0;
}