티스토리 뷰
[C언어] malloc(), free() 함수를 이용한 메모리 동적 할당 예제
C언어의 메모리 할당 방식의 종류 |
C언어에서의 메모리 할당 방식은 크게 두 가지 방식으로 나뉩니다.
바로 정적인 방식과 동적인 방식입니다.
첫번째, 정적인 방식이란? |
>> 동적인 메모리 할당 방식에 대해 알아봅시다
그러면 동적인 메모리 할당 방식에 대해서 알아보겠습니다.
동적인 메모리 할당은 malloc()함수를 사용합니다.
malloc()함수는 stdlib.h파일에 정의되어 있습니다.
stdlib.h파일에 정의된 malloc()함수의 원형은 다음과 같습니다.
void * malloc ( size_t ) ; |
함수 malloc()은
인자로 메모리 할당의 크기를 지정하고 반환값으로 할당된 메모리의 주소를 반환합니다.
반환값의 유형은 void*입니다.
- malloc()함수 예제
/* malloc_ex1.c 정수형 int의 메모리 공간을 malloc()을 이용하여 동적으로 할당하는 예제*/ #include<stdio.h> #include<stdlib.h> int main(void){ int *pi ; pi =(int*) malloc(sizeof(int)) ; *pi = 3; printf("%d\n", *pi); return 0 ; }
위의 예제를 실행하면 아래와 같은 화면이 나옵니다.
>> 여기서 잠깐!!!
잠깐!!! 한 가지 조심해야 할 부분이 있습니다.
바로 동적할당을 해준 다음에는
반드시 free()함수를 통해 할당된 메모리를 해제해야 한다는 것입니다.
왜 해제를 해줘야 하느냐면 이제 이 공간은 쓸 필요가 없기 때문입니다.
쓸 필요가 없으면 해제하고 다른 곳에 쓰는 것이 더 효율적이니까요.
malloc()에 의하여 동적으로 할당된 공간을 더 이상 필요가 없거나 프로그램을 종료하는 경우
아래의 free() 함수로 메모리를 해제합니다.
void free( void * ) |
- 최종 예제
/* 예제 malloc_ex1.c에서 해제되지 않은 메모리를 free()함수를 이용하여 해제*/ #include#include int main(void){ int *pi ; pi =(int*) malloc(sizeof(int)) ; *pi = 3; printf("%d\n", *pi); free(pi); return 0 ; }
글 잘 보셨나요? 잘 보셨다면 아래에 손가락 모양을 꾹 눌러주세요 1초도 안걸려요^^ |
'IT 이야기 > 프로그래밍' 카테고리의 다른 글
PHP에서 유동 변수 만드는 방법 (0) | 2014.03.23 |
---|---|
[C언어] 세 개의 단어를 입력받아 사전 순으로 가장 먼저 나오는 단어 출력하기 (0) | 2014.02.25 |
[C언어] 분수의 합을 구하는 프로그램 소스 (0) | 2014.02.24 |
JQuery Slider 추천! bxSlider, 간단한 설치, 애니메이션까지 (1) | 2014.02.23 |
[C#] 서버와 클라이언트 파일 전송 기본 예제 (8) | 2013.12.05 |
[C언어 소스] 주소 관리 프로그램 소스 (28) | 2013.11.26 |
[HTML5 강의] 5. HTML5 기본태그, 목록 만들기 (0) | 2013.11.22 |
[HTML5 강의] 4. HTML5의 기본 태그, 텍스트 관련 태그 (0) | 2013.11.22 |
[HTML5 강의] 1. HTML5 시작하기 (2) | 2013.11.22 |
[HTML5 강의] 3. HTML5 기본 태그, 시멘틱(semantic) 태그 (2) | 2013.11.21 |
- Total
- Today
- Yesterday
- W3Schools Online Web Tutorials
- 구차니의 잡동사니 모음
- [IT]블로거팁닷컴
- 비앤아이님의 블로그
- Blog Suspect
- 즐거운하루 blog
- zinicap의 검색엔진 마케팅(SEM)
- 머니야머니야님의 블로그
- [Friend] AtinStory
- [기타배우기]해브원 박스
- [웹표준] SINDB.com
- 해커 C 이야기
- [애드센스] 길라잡이
- 정순봉의 IT SCHOOL
- 씨디맨의 컴퓨터이야기
- 2proo Life Story
- 못된준코의 세상리뷰
- [IT강좌] 정보문화사
- IN 대전
- 에우르트는 나쁜남자 -_-
- 씬의 싱크탱크
- 엔돌슨의 IT이야기
- 진이늘이
- 'Cooltime'의 블로그
- 후이의 Tistory
- Soulstorage
- 앤드&엔드의 블로그
- June Blog
- 노지의 소박한 이야기
- gbWorld
- 인터넷 속 나의 생각
- HarshNix
- ART of WEB
- 녹두장군 - 상상을 현실로
- MBTI 자료
- MBTI 테스트
- 프로그래밍
- C언어
- C언어 문제
- 리뷰
- php
- 효과음
- HTML
- MBTI
- JavaScript
- 인터넷
- 안드로이드
- 소스코드
- 예제 소스
- 인터넷 익스플로러
- MBTI 강좌
- 프로그래밍 문제
- C
- 강좌
- 소스
- C언어 소스
- 안드로이드 어플
- 성공
- MBTI 검사
- 스마트폰
- 모토로이
- 안드로이드 어플 추천
- It
- 강의
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |