수업기록

오늘의 할 것은

함수

#함수

메모리 데이터 : 컴파일 타임, 프로그램 구동 전 등록. 프로그램 종료 후 반환 스택 : 런타인 타임, 프로그램 구동 중. 함수 종료 후 반환 ROM(Read Only Memory) 힙

컴파일 타임 : 프로그램 구동 전 (정적 static) 런타인 타임 : 프로그램 구동 중 (동적 dynamic)

DATA 영역 (external) 전역 변수 : 함수 외부에 만드는 변수 - 한 파일 안에서 계속적으로 사용 가능. 데이터 영역에 등록. 공식 명칭 : 외부에서 표현 가능한 정적 변수.

(static) 정적 변수 : 중괄호 안에서만 사용 가능. 데이터 영역에 등록. 공식 명칭 : 내부에서만 접근 가능한 정적 변수

스택 영역 (LastInFirstOut) 지역 변수 : 중괄호 내에(함수 안에) 만드는 변수 매개 변수 : (인자값 / 파라미터) 얘네도 지역 변수임.

함수 : 입력 값에 대해 어떤 가공을 통해 반환 값을 만들어내는 구조 또는 기능

사용 이유 : 코드의 재사용성
구성 요소 : 반환타입 함수이름 (매개변수) void function(parameter)

반환 타입 :
함수 종료 시, 내보내는 값의 자료형 
(반환타입이 있는 경우 함수 종료 후 임시 메모리에 저장해둠)

함수 이름 :
함수의 내용을 포괄하도록 짓는 것이 중요. 메모리 공간에 접근하기 위한 주소 또는 키의 개념

매개변수 :
파라미터, 인자값으로 부르기도 하는, 함수 안으로 입력하는 값을 전달하는 곳. 
정확하게는 값을 '복사'하는 개념이 맞음(이런 호출을 call by value 라고 부름)
void Render(){
 ...body
}
-> 함수를 선언과 동시에 구현

Render() -> 함수 호출 연산자.

void Render();
-> 함수 선언부.

함수가 반환할 떄 스택 프레임이라는 메모리 블럭이라는 것을 만드는데, 함수가 자주 호출하게 되면 그 프레임 안에서 다시 불러오는 느낌. 이게 재귀함수랑 밀접하게 연결이 됨.

25-02-24 함수 구현

이번주에 트리까지.

내일 큐 되어 있으면 좋고. 이번주 목표는 트리까지는 해보는 것으로.