NULL

함수의 선언 return기능 본문

C

함수의 선언 return기능

1924 2016. 12. 14. 15:47

함수를 만드는 이유는


main함수에 전부 소스를 정의하면

복잡 할 뿐더러

큰 문제의 기능을 한번에 

정의하는거보다 기능을 조각조각

쪼개서 정의하는것이 더 좋다.


함수하나마다 하나의 기능을

하게 디자인해야한다.



함수의 자료형은 반환형태이며

void가 아닌 자료형이 오면

값을 반환할 목적이니

return으로 값을 반환한다.


그다음 함수이름을 지정해주고

 

입력형태에는 매개변수가 들어오고

인자를 받는 역할을 한다.

( )괄호안에 위치해야되는것은 매개변수라고 한다.


매개는 둘 사이에 양편의 관계를 맺어준다는 뜻이다.

매개변수도 마찬가지로 함수간에 변수관계를 맺는 역할이다.


그 후 



이 그림을 보고

각자의 위치마다 어떤 기능을 하는지

재대로 이해 한 후 다음 이미지를 보면

이해가 쉬울것이다.



쉽게 풀어 쓰자면


함수를 짤때 첫번째로

값을 반환하는 함수를 짤것인지

출력을 목적으로 할 함수를 짤것인지


정하고 그 후 값을 반환할꺼라면

필요한 자료형을 선언 후

기능을 디자인하고 값을 return해주면 된다.


값을 반환하지않거나 출력이 목적이면

void로 반환값이 없다고 선언해준다.

반환값이 없으면 return도 쓰지않는다.


return의 사용용도는 두가지다.

1. 값을 반환하는 용도

2. 함수의 종료



함수는 어떻게 사용하는가?



소스를 분석해보면


int result를 선언하고

result = Add(3,4);를 대입한다.

여기서 Add라는 함수로 흐름이 넘어간다.


result에 Add(3,4)값을 인자로 전달하였다.

그러면 Add함수에서 보이는

매개변수칸에 int num1=3을 받고

int num=4를 인자로 전달받는다.


여기서 중요한것은

main함수에서 Add(3,4)의 값을

그대로 넘겨받은것이 아니라

복사해서 Add함수로

붙여넣기한거라고 보면 된다.

같다고 생각하면 큰일납니다.


Add함수에서 num1+num2의

값을 return받습니다.


여기서 Add의 함수의 흐름이 끝나고

함수가 끝나면 값들이 지워져버립니다.


그리고 다시 main함수로 와서 result에

num1+num2의 값인 7을 저장하고


result=7 을 출력합니다.


그 다음 소스도 마찬가지로

똑같이 동작합니다.


결국 7과 13을 출력하게 됩니다.


return의 기능은?

값의 반환과 함수의 탈출

두가지가 존재합니다.


값을 반환하거나 아니면

그냥 return을 쓰는것으로

함수를 빠져나가는 용도로

사용됩니다.

'C' 카테고리의 다른 글

전역변수와 static변수  (0) 2016.12.14
지역변수와 매개변수 이해  (0) 2016.12.14
선택적실행 switch문  (0) 2016.12.14
break, continue문 개념정리  (0) 2016.12.14
삼항연산자 개념정리  (0) 2016.12.14
Comments