1105실습 - kyagrd/cprog2018Fall GitHub Wiki
동적 할당
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n;
scanf("%d", &n); // 프로그램 실행 중에 정수값 n을 입력받아
// int a[n]; // ???????? 전통적으로 C에서는 안되던 것 (요즘엔 막 됨)
int* p = malloc(n * sizeof(int)); // n개만큼의 연속적 int 저장 공간
for (int i=0; i<n; ++i) p[i] = i;
for (int i=0; i<n; ++i) printf("%d ", p[i]);
printf("\n");
free(p); // 동적으로 할당해서 쓰던 메모리 반환
p = malloc(2 * n * sizeof(int)); // 전에 쓰던 양보다 두 배 많은 공간 할당
for (int i=0; i<2*n; ++i) p[i] = i;
for (int i=0; i<2*n; ++i) printf("%d ", p[i]);
printf("\n");
free(p); // 동적으로 할당해서 쓰던 메모리 반환
return 0;
}