[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
'C언어 > C언어 예제' 카테고리의 다른 글
[C언어 소스] realloc 함수 사용 예제 코드 (0) | 2016.05.04 |
---|---|
[C언어 소스] malloc 함수 사용 예제 코드 (0) | 2016.05.04 |
[C언어 소스] calloc 함수 사용 예제 코드 (0) | 2016.05.04 |
[C언어 소스] srand 함수 사용 예제 (0) | 2016.05.04 |
[C언어 소스] rand 함수 사용 예제 코드 (0) | 2016.05.04 |