SlideShare a Scribd company logo
1 of 22
Download to read offline
C++ 스터디
6주차
6주차 주제
포인터 (2), 동적할당
Review
Int sum = 255;
Short age = -1;
Double average = 1FFFFF…;
Int * ptrSum = ∑
Int number = 88;
Int * pNumber;
pNumber = &number;
Review
Int number = 88;
Int * pNumber = &Number;
Cout << pNumber << endl;
Cout << *pNumber << endl;
*pNumber = 99;
Cout << *pNumber << endl;
Cout << number << endl;
결과 예상해보기
Int i = 88;
Double d = 55.66;
Int * iPtr = &i;
Double * dPtr = &d;
iPtr = &d;
dPtr = &i;
iPtr = i;
Int j = 99;
iPtr = &j;
결과 예상해보기
Review
Review
결과 예상해보기
Call by value
Call by Reference (with pointer)
Call by Reference (with reference)
Return
by
Reference
Warning
함수 내 지역변수의 포인터나 레퍼런스를 리턴하면 안되요~
메모리 영역
Program Code 영역 :실행한 프로그램의 코드를 저장
Data 영역 : 전역변수와 static 변수가 할당되고 프로그램 종료시까지 남아있음
Heap 영역: 동적 할당된 메모리 영역
Stack 영역: 지역변수와 매개변수가 할당
다른 녀석들은 변수 선언과 함께 메모리 할당과 해제가 알아서
But Heap 영역에 동적 할당된 메모리는 개발자가 직접 다룬다.
동적 할당 (Dynamic Memory Allocation)
동적할당 : 실행 시간(Runtime) 동안 사용할 메모리 공간을 할당
정적할당 : 프로그램이 시작될 때 메모리 공간을 할당
동적 할당 (Dynamic Memory Allocation)
언제 ? 왜 ? 사용할까?
동적 할당은 정적 할당에 비해 쓰기 복잡하고 더 느리다.
그렇다면
동적 할당 (Dynamic Memory Allocation)
1. 프로그램에서 메모리를 얼마나 할당 받을 지가 유동적일 때
2. 메모리를 엄청 많이 할당 받고 싶을 때
New , Delete
New[ ] , Delete[ ]
할당 최대량?
과제는 오늘 내로 공지하겠습니다

More Related Content

What's hot

RNC C++ lecture_2 Variable DataType
RNC C++ lecture_2 Variable DataTypeRNC C++ lecture_2 Variable DataType
RNC C++ lecture_2 Variable DataTypeitlockit
 
RNC C++ lecture_5 Array
RNC C++ lecture_5 ArrayRNC C++ lecture_5 Array
RNC C++ lecture_5 Arrayitlockit
 
[170529 6주차]C언어 A반
[170529 6주차]C언어 A반[170529 6주차]C언어 A반
[170529 6주차]C언어 A반arundine
 
4. 함수포인터
4. 함수포인터4. 함수포인터
4. 함수포인터Hoyoung Jung
 
포인터의 기초(1)
포인터의 기초(1)포인터의 기초(1)
포인터의 기초(1)Hoyoung Jung
 
포인터의기초 (2) - 포인터 사용하기1
포인터의기초 (2) - 포인터 사용하기1포인터의기초 (2) - 포인터 사용하기1
포인터의기초 (2) - 포인터 사용하기1Hoyoung Jung
 
변수 이름의 효과
변수 이름의 효과변수 이름의 효과
변수 이름의 효과민욱 이
 
[TechDays Korea 2015] 녹슨 C++ 코드에 모던 C++로 기름칠하기
[TechDays Korea 2015] 녹슨 C++ 코드에 모던 C++로 기름칠하기[TechDays Korea 2015] 녹슨 C++ 코드에 모던 C++로 기름칠하기
[TechDays Korea 2015] 녹슨 C++ 코드에 모던 C++로 기름칠하기Chris Ohk
 

What's hot (13)

RNC C++ lecture_2 Variable DataType
RNC C++ lecture_2 Variable DataTypeRNC C++ lecture_2 Variable DataType
RNC C++ lecture_2 Variable DataType
 
RNC C++ lecture_5 Array
RNC C++ lecture_5 ArrayRNC C++ lecture_5 Array
RNC C++ lecture_5 Array
 
[170529 6주차]C언어 A반
[170529 6주차]C언어 A반[170529 6주차]C언어 A반
[170529 6주차]C언어 A반
 
강의자료 2
강의자료 2강의자료 2
강의자료 2
 
03. dp easy
03. dp easy03. dp easy
03. dp easy
 
Ch05
Ch05Ch05
Ch05
 
Ch07
Ch07Ch07
Ch07
 
4. 함수포인터
4. 함수포인터4. 함수포인터
4. 함수포인터
 
포인터의 기초(1)
포인터의 기초(1)포인터의 기초(1)
포인터의 기초(1)
 
포인터의기초 (2) - 포인터 사용하기1
포인터의기초 (2) - 포인터 사용하기1포인터의기초 (2) - 포인터 사용하기1
포인터의기초 (2) - 포인터 사용하기1
 
3.포인터
3.포인터3.포인터
3.포인터
 
변수 이름의 효과
변수 이름의 효과변수 이름의 효과
변수 이름의 효과
 
[TechDays Korea 2015] 녹슨 C++ 코드에 모던 C++로 기름칠하기
[TechDays Korea 2015] 녹슨 C++ 코드에 모던 C++로 기름칠하기[TechDays Korea 2015] 녹슨 C++ 코드에 모던 C++로 기름칠하기
[TechDays Korea 2015] 녹슨 C++ 코드에 모던 C++로 기름칠하기
 

6주차 스터디