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;
}
⚠️ **GitHub.com Fallback** ⚠️