int a[10] = {~~~~~~};
와 같이#include <stdio.h>
#include <iostream>
int main(void)
{
int a = 100;
int arr[a] = {};
return 0;
}
이게 안되는 이유는?
main 함수의 stack 크기를 다 계산한 상태로 컴파일이 되어야 하는데?, 저 변수(a)의 값을 확신할 수 없어서 안되는거임
그래서 변수말고 상수값을 넣어줘야 하는거임, const int a = 100;
은 사용가능
#include <stdio.h>
#include <iostream>
int b = 10;
typedef struct _tagST {
int iArr[b]; // 얘도 당연히 안됨
}ST;
int main(void)
{
const int a = 100;
int arr[a] = {};
return 0;
}
Heap 영역을 사용할 수 밖에 없음
자료형은 틀, 객체는 틀로 찍어낸 애들
구조체를 이용해서 그동안 존재하지 않던 나만의 자료형을 만듬 <-- 구조체는 헤더파일 안에 있음
다음 글의 코드 참고