티스토리 뷰
return 은 함수가 아니라, C언어에서 미리 정해놓은(예약한) 명령어라고 보시면 됩니다.
C언어의 키워드(keyword), 즉 미리 쓰기로 한 말이죠. 전문용어로 "예약어"라고 부릅니다.
return은 함수는 아닙니다.
만약 return이 함수였다면 return()으로 사용했을 것입니다.
(C언어에서 함수를 사용하기 위해서는 일반적으로 뒤에 소괄호()를 붙여 사용하기 때문입니다.)
return은 다음과 같은 경우에 주로 사용합니다.
1. 현재의 함수에서 빠져 나가 그 함수를 호출했던 곳으로 되돌아 가라는 뜻입니다.
되돌아 가면서 그 함수를 호출했던 곳 즉 calling routine 에 어떤 값을 반환하는 것입니다.
return 0; 는 0 이라는 값을 반환하라는 의미이고
return 1; 은 1 이라는 값을 반환하라는 뜻입니다.
return 은 함수의 어떤 곳에서도 위치할 수 있는데, return 이 실행되는 즉시 그 함수는 무조건 실행이 종료됩니다.
즉, 현재의 함수에서 빠져 나가라는 의미입니다.
아래의 코드를 보시기 바랍니다.
return 0;을 만난 경우 main 함수를 빠져나가게 됩니다.
#include<stdio.h>
int main()
{
return 0;
}
여기서 return 을 만나면 함수를 종료하게 됩니다.
그런데 위에서 return 뒤에 0을 써주는 이유는 무엇일까요?
2. return은 함수 내의 변수 또는 일정값을 되돌려 주는 역할을 합니다.
* 계산이 아닌, 어떤 일을 하는 함수라면, 그 일이 성공했을 때에는 0 을, 실패했을 때에는 1 을 반환하며 끝내는 것이 보통입니다.
그러면 그 함수를 호출한 곳에서, 그 함수가 제대로 실행되었는지 판단할 수가 있습니다.
#include <stdio.h>
int main() {
printf("안녕하세요.");
return 0;
}
위의 예제를 실행하면 안녕하세요를 출력하는 프로그램입니다.
앞서 프로그램이 성공적으로 실행되었을 때 return 0;으로 0을 돌려준다고 말씀드렸지요?
함수를 호출 했을 때 리턴값으로 0을 돌려받는다면 '아 정상적으로 끝났구나' 생각하면 됩니다.
우리가 누군가에게 심부름을 시켰을 때 "그 일 잘 해결했어요" 라고 듣는 것과 똑같습니다.
그런데 어떤 분들은 이렇게 묻곤 합니다.
그러면 return 0; 이후에는 어떻게 되나요?
누구에게 0을 반환하는 건가요? 라고 말입니다.
위 소스는 간단하지만 하나의 프로그램입니다.
안녕하세요를 출력하는 간단한 프로그램이지요.
return 0;을 통해 main() 함수를 종료한다는 것은 그 프로그램을 종료시킨다는 의미입니다.
main() 함수를 호출한 루틴은, 컴퓨터 OS 그 자체이므로, 결국 OS에 0 이라는 값을 반환하는 것입니다. 이것을 도스/윈도우에서는 "Error Level" 이라고 합니다. 윈도의 명령 프롬프트에서,
echo %ERRORLEVEL%
이라고 치면, return이 방금 반환한 그 값을 볼 수 있습니다. 이 경우에는 0 이라는 값이 화면에 출력됩니다.
'IT 이야기 > 프로그래밍' 카테고리의 다른 글
VBA로 크롤링해보기 (0) | 2022.04.26 |
---|---|
How do I wrap text in a pre tag? (0) | 2022.04.05 |
[NODE.JS] 소스코드 수정시 자동으로 재시작 해주는 PM2, nodemon (0) | 2021.06.23 |
[JAVA] 0부터 100까지 짝수만 출력되게 하는 소스코드 (0) | 2020.05.28 |
c언어 중첩 for 숫자 (0) | 2020.04.28 |
[C언어 예제] 정수를 입력받아 8진수와 16진수로 출력하기 (0) | 2017.03.25 |
[C언어 문제] 입력받은 다섯자리 수를 끊어서 출력하기 (0) | 2017.03.21 |
SNS 공유 스크립트 소스 (1) | 2017.03.06 |
C언어 문자열에 대한 문제 풀기 (0) | 2016.12.02 |
[C언어 소스] 2진수를 10진수로 바꾸기 (2) | 2016.04.26 |
- Total
- Today
- Yesterday
- W3Schools Online Web Tutorials
- 구차니의 잡동사니 모음
- [IT]블로거팁닷컴
- 비앤아이님의 블로그
- Blog Suspect
- 즐거운하루 blog
- zinicap의 검색엔진 마케팅(SEM)
- 머니야머니야님의 블로그
- [Friend] AtinStory
- [기타배우기]해브원 박스
- [웹표준] SINDB.com
- 해커 C 이야기
- [애드센스] 길라잡이
- 정순봉의 IT SCHOOL
- 씨디맨의 컴퓨터이야기
- 2proo Life Story
- 못된준코의 세상리뷰
- [IT강좌] 정보문화사
- IN 대전
- 에우르트는 나쁜남자 -_-
- 씬의 싱크탱크
- 엔돌슨의 IT이야기
- 진이늘이
- 'Cooltime'의 블로그
- 후이의 Tistory
- Soulstorage
- 앤드&엔드의 블로그
- June Blog
- 노지의 소박한 이야기
- gbWorld
- 인터넷 속 나의 생각
- HarshNix
- ART of WEB
- 녹두장군 - 상상을 현실로
- C
- 스마트폰
- php
- MBTI
- 안드로이드 어플
- 예제 소스
- 안드로이드 어플 추천
- 안드로이드
- 인터넷 익스플로러
- 강좌
- HTML
- 성공
- JavaScript
- C언어 소스
- 프로그래밍
- MBTI 테스트
- It
- 효과음
- C언어
- 소스
- 모토로이
- 인터넷
- 강의
- C언어 문제
- MBTI 강좌
- 리뷰
- MBTI 검사
- 프로그래밍 문제
- 소스코드
- MBTI 자료
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |