프로그래밍/C

malloc & free 기본 사용법

DevIt 2013. 7. 23. 16:58

malloc & free 기본 사용법


#include <stdio.h>
#include <stdlib.h>

int main()
{
    int *p;
    int i,n;

    printf("입력할 정수의 수 : ");
    scanf("%d", &n);

    p = (int *)malloc(n*sizeof(int));

    printf("%d개의 정수를 입력해주세요.\n", n);
    for(i=0;i<n;i++)
    {
        scanf("%d", &p[i]);
    }

    printf("역순으로 출력합니다.\n");
    for(i=n-1;i>=0;i--)
    {
        printf("%d ", p[i]);
    }

    free(p);
    return 0;



#include <stdio.h>

#include <string.h>

#include <stdlib.h>


char *arr_char(int len)

{

char *str=(char*)malloc(sizeof(char)*len);

return str;

}


int *arr_int(int len)

{

int *arr=(int*)malloc(sizeof(int)*len);

return arr;

}


int main(void)

{

char *str=arr_char(20);

int *arr=arr_int(2);


strcpy(str, "Hello Malloc!");

printf("%s\n", str);

arr[0] = 1;

arr[1] = 2;

printf("%d\n%d\n", arr[0], arr[1]);


free(str);

free(arr);

return 0;