개발 Study

#10. 함수 및 메모리 구조

HYuk 2021. 4. 6. 22:10
728x90

# 함수 ( y=f(x) )

-> 재사용성이 좋기 때문에 자주 사용한다.

함수는

1. input O output O ex) y=f(x)

2. input O output X ex) srand(seed)

3. input X output O ex) rand()

4. input X output X ex) main()

네 가지가 있다.

 

함수는 아래와 같은 형태로 만들어 진다.

 

반환타입 함수이름 ( 재료(매개변수) )

{

코드;

}

 

반환값이 있을 경우, 코드 마지막에 return 반환값; 을 써준다.

 

코드내에서 return을 만나는 즉시 해당 값을 반환하고, 함수를 종료 시킨다.

 

-----

 

# 메모리 구조

 

우리가 자주 쓰는 지역변수, 매개변수는 STACK 이라는 곳에 할당 된다.

변수가 할당 되는 시점은 함수가 시작되었을 때 이며,

변수가 소멸 하는 시점은 함수가 종료되었을 때 이다.

 

 

이 스택이라는 메모리 구조는 

아래 0번째 부터 할당이 되며, 소멸은 반대로 n번째 부터 시작된다.

이를 후입선출형 구조라고 하며, LIFO(Last In First Out) 라고 한다.

728x90