C언어/C언어 예제

[C언어 소스] free 함수 사용 예제 코드

언제나휴일 2016. 5. 4. 23:18
반응형

[C언어 소스] free 함수 사용 예제 코드


//C언어 표준 라이브러리 함수 사용법 가이드

//void free(void *ptr); 동적으로 할당한 메모리 해제

//정수형 변수의 주소를 포인터 변수로 사용 및 동적 메모리 할당하여 사용하는 코드

//정수형을 원소로 하는 배열을 포인터 변수로 사용 및 동적 메모리 할당하여 사용하는 코드

 

#include <stdlib.h>

#include <stdio.h>

 

int main(void)

{

    {//정수형 변수의 주소를 포인터 변수로 사용 및 동적 메모리 할당하여 사용하는 코드

        int i;

        int *p1, *p2;

        p1 = &i;//i 변수의 주소를 p1 변수에 대입

        *p1 = 7;//p1이 가리키는 곳에 7 대입

        printf("i: %d *p1:%d\n",i ,*p1);//확인       

        p2 = (int *)malloc(sizeof(int));//int 크기의 메모리를 동적 할당

        *p2 = 7;//p2가 가리키는 곳에 7 대입

        printf("*p2: %d \n", *p2);//확인

        free(p2);//동적으로 할당한 메모리 해제

    }   

    {//정수형을 원소로 하는 배열을 포인터 변수로 사용 및 동적 메모리 할당하여 사용하는 코드

        int arr[10];

        int *base, *base2;

        int asize, i;

        base = arr;

        //base와 인덱스를 이용하여 값 설정

        for(i=0;i<10;i++)

        {

            base[i] = i+1;

        }

        //arr과 인덱스를 이용하여 값 확인

        for(i=0;i<10;i++)

        {

            printf("%d ", arr[i]);

        }

        printf("\n");       

        printf("동적으로 할당할 개수를 입력 : ");

        scanf_s("%d",&asize);

        base2 = (int *)malloc(sizeof(int)*asize);//int 형식 크기 * asize 만큼의 메모리 동적 할당       

        //base2와 인덱스를 이용하여 값 설정

        for(i=0;i<10;i++)

        {

            base2[i] = i+1;

        }

        //base2와 인덱스를 이용하여 값 확인

        for(i=0;i<10;i++)

        {

            printf("%d ", base2[i]);

        }

        free(base2);//동적으로 할당한 메모리 해제

        printf("\n");

    }

    return 0;

}

 

출력

i: 7 *p1: 7

*p2: 7

1 2 3 4 5 6 7 8 9 10

동적으로 할당할 개수를 입력 : 10(입력)

1 2 3 4 5 6 7 8 9 10


언제나 휴일 티스토리 바로가기

언제나 휴일 유튜브 채널 바로가

 


반응형