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;


'프로그래밍 > C' 카테고리의 다른 글

포인터에 관한 고찰  (0) 2014.10.30
assert 매크로 사용법  (0) 2014.01.27
이중배열과 포인터 문제 하나  (0) 2013.12.01
typedef  (0) 2011.01.22
공용체와 열거체  (0) 2011.01.19
구조체  (0) 2010.10.23
배열과 포인터의 관계  (0) 2010.10.09

+ Recent posts