SH1R0_HACKER

입력한 크기만큼 메모리를 할당하여 배열처럼 사용하기 본문

Programming Language/C

입력한 크기만큼 메모리를 할당하여 배열처럼 사용하기

SH1R0_HACKER 2020. 10. 18. 15:11

[코딩도장] 38.2 입력한 크기만큼 메모리를 할당하여 배열처럼 사용하기

 

https://dojang.io/mod/page/view.php?id=318

 

 

<pointer_scanf_like_array.c 소스>

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>    // malloc, free 함수가 선언된 헤더 파일
 
int main()
{
    int size;
 
    scanf("%d", &size);
 
    int *numPtr = malloc(sizeof(int) * size);    // (int 크기 * 입력받은 크기)만큼 동적 메모리 할당
 
    for (int i = 0; i < size; i++)    // 입력받은 크기만큼 반복
    {
        numPtr[i] = i;                // 인덱스로 접근하여 값 할당
    }
 
    for (int i = 0; i < size; i++)    // 입력받은 크기만큼 반복
    {
        printf("%d\n", numPtr[i]);    // 인덱스로 접근하여 값 출력
    }
 
    free(numPtr);    // 동적으로 할당한 메모리 해제
 
    return 0;
}

malloc 동적할당을 활용 : int *a = malloc(sizeof(int)*n);