25장. 메모리 관리와 동적 할당.

Slides:



Advertisements
Similar presentations
2007 1학기 12 배열.
Advertisements

컴퓨터 개론 및 실습 강의 9.
Linux/UNIX Programming APUE (The Environment of a UNIX Process)
Power C++ 제6장 포인터와 문자열.
쉽게 풀어쓴 C언어 Express 제11장 포인터 C Express.
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 1-1 C 언어의 개론적 이야기 프로그래밍 언어란 무엇인가? 컴파일이란 무엇인가? 사람과 컴파일러가 이해할 수 있는 약속된 형태의 언어 C 언어도 프로그래밍 언어 중 하나이다. 컴파일이란 무엇인가? 프로그래밍.
제 8 장  파서 생성기 YACC 사용하기.
C로 쉽게 풀어쓴 자료구조 © Copyright 생능출판사 2011
C로 쉽게 풀어쓴 자료구조 © Copyright 생능출판사 2005
2007 1학기 10 함수 활용.
제3장 추가 실습 3장 관련 C 언어 프로그래밍 실습.
Department of Computer Engineering
1 유닉스 시스템 프로그래밍 개요.
쉽게 풀어쓴 C언어 Express 제8장 함수 C Express Slide 1 (of 26)
C 11장. 포인터의 활용 #include <stdio.h> int main(void) { int num;
쉽게 풀어쓴 C언어 Express 제17장 동적 메모리와 연결 리스트 C Express.
Chapter 03 배열, 구조체, 포인터.
C언어: 배열 (Arrays).
6장. printf와 scanf 함수에 대한 고찰
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 14. 포인터와 함수에 대한 이해.
쉽게 풀어쓴 C언어 Express 제16장 파일 입출력 C Express Slide 1 (of 23)
CHAP 3:배열, 구조체, 포인터.
head data link data link data link NULL a b c
자료 구조: Chapter 3 (2)구조체, 포인터
쉽게 풀어쓴 C언어 Express 제17장 동적메모리와 연결리스트 C Express Slide 1 (of 13)
10장 메모리 관리.
쉽게 풀어쓴 C언어 Express 제17장 동적 메모리와 연결 리스트 C Express.
쉽게 풀어쓴 C언어 Express 제17장 동적메모리와 연결리스트 C Express.
Department of Computer Engineering
동적메모리와 연결리스트 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원 E304호,
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 02. 프로그램의 기본구성.
3장. 포인터, 배열, 구조체 포인터, 배열, 구조체 학습목표 기본적 데이터 타입
Dynamic Memory and Linked List
21장. 문자와 문자열 처리 함수.
아두이노 프로그래밍 2일차 – Part4 아날로그 키패드 활용하기 강사: 김영준 목원대학교 겸임교수.
(ioctl, mmap, fsync&flush)
프로그래밍2 및 실습 C언어 기반의 C++ 2.
프로그래밍실습 제 16 강.
14주차.
14장. 포인터와 함수에 대한 이해.
C++ 프로그래밍 년 2학기 전자정보공학대학 컴퓨터공학부.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
13. 포인터와 배열! 함께 이해하기.
Memory & Data Management.
제어문 & 반복문 C스터디 2주차.
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 09. C언어의 핵심! 함수!
게임프로그래밍 I - 1차원 배열 - 공주대학교 게임디자인학과 박 찬 교수 2011년 4월 25일.
Chapter 11. 배열과 포인터.
조 병 규 Software Quality Lab. 한국교통대학교
실습과제 1(조건문, ) 표준입력으로 수축기 혈압을 입력 받아 그에 따른 적당한 표현을 화면에 출력하는 프로그램을 if-else 문을 이용하여 작성.
포인터.
#1 배열 활용 #include int main(void) { int i; int grade[5]; grade[0] = 10; grade[1] = 20; grade[2] = 30; grade[3] = 40; grade[4] = 50; for(i=0;i.
-Part2- 제1장 1차원 배열이란 무엇인가.
C89(C++03) 프로그래밍 (Part 2) 7 배열 8 변수 범위 9 포인터 10 유도 자료형.
Department of Computer Engineering
18장. 다차원 배열 그리고 포인터.
JVM의 구조와 메모리 모델 JVM의 내부 구조 클래스 파일 클래스 로더 메소드(method) 영역 힙(heap) 영역
03. 메모리 관리 C++ 프로그램에서 다룰 수 있는 메모리의 종류
토론을 위한 질문 배열의 이름에는 무엇이 저장되는가? C언어에서 배열 추상데이터의 store는 어떻게 구현 되는가?
자료구조 세미나 발표 주제: 자료구조 기초 - 1회 차: 자료구조의 정의, 기초 지식 (함수, 포인터, 레퍼런스)
-Part2- 제2장 다차원 배열이란 무엇인가.
성전기공식(안) 식 순 1. 기공미사 2. 기 공 식 3. 축 하 연 천주교 수원교구 퇴촌성당.
실습과제 1번 생성된 파일 basic.txt를 프로젝트 폴더에서 메모장으로 열고 내용을 확인
실습과제 1번 /* 1. 멤버 변수로 반경 radius를 갖고, 그 값을 모니터에 출력하는
어서와 C언어는 처음이지 제16장.
17장. 포인터의 포인터.
C.
어서와 C언어는 처음이지 제22장.
윤성우의 열혈 C++ 프로그래밍 윤성우 저 열혈강의 C++ 프로그래밍 개정판 Chapter 02. C언어 기반의 C++ 2.
배열, 포인터, 함수 Review & 과제 1, 2.
Presentation transcript:

25장. 메모리 관리와 동적 할당

25-1 C 언어의 메모리 구조 스택, 힙 그리고 데이터 영역 프로그램의 실행을 위해 기본적으로 할당하는 메모리 공간 프로그램의 실행을 위해 기본적으로 할당하는 메모리 공간 컴파일 타임에 함수에서 요구하는 스택의 크기 결정 되어야 함 그림 25-1

25-1 C 언어의 메모리 구조 그림 25-2 void fct1(int); void fct2(int); int a=10; int b=20; int main (void) { int m=123; fct1(m); fct2(m); return 0; } void fct1(int c){ int d=30; void fct2(int e){ int f=40; 그림 25-2

25-1 C 언어의 메모리 구조 배열의 선언 배열의 길이 선언은 상수! 컴파일 타임에 요구되는 메모리 공간의 크기를 결정지어야 하므로 /* probArray.c 의 일부 */ void function(int i) { int array[i]; } void function(void) { int i=10; int array[i]; }

25-2 메모리 동적 할당 메모리 동적 할당 동적 할당된 메모리 공간의 소멸 25-2 메모리 동적 할당 메모리 동적 할당 런 타임에 메모리 공간의 크기를 결정지어서 할당 (힙 영역에 할당) 동적 할당된 메모리 공간의 소멸 #include <stdlib.h> void* malloc(size_t size) 성공 시 할당된 메모리의 첫 번째 주소 리턴, 실패 시 NULL 포인터 리턴 #include <stdlib.h> void free(void* ptr)

25-2 메모리 동적 할당 malloc 함수의 활용 malloc&free.c, ProbArray2.c 참조 그림 25-7