[馬] 프로그래밍 간단한 질문입니다. 좋은 답변부탁드려요
차미
안녕하세요.
C언어를 어느정도 술렁술렁 공부하다가, 이렇게공부하는건 아니다싶어서
다시 초심으로 돌아가, 열심히 공부하는 프로그래밍 초짜입니다.
공부를 하다가 궁금한게 있어서 이렇게 질문드립니다.
우선, 코딩부터....^^
/* Hello.c */ →주석,이 프로그래밍이 어떤 것에 대한 것이라는 정보 표기
#include stdio.h→printf를 쓰기위해서 사용하는 라이브러리, 이것이 없으면 Printf사용불가
int main(void) → Main함수인데 인트형 void ???
{
printf(Hello, World !); → 주 내용
return 0; → 함수반환 ?
}※ 저의 질문은 빨강 부분입니다.
저가 배운걸로는 void main()
이 대부분 이였죠
Main 함수인데 void 즉, 빈공간으로 만든다는 의미라고 배웠습니다.
오류값이 잘못해서 들어가지 않게 하기 위한 것이라고 배웠고요
그런데 int main(void) 이 것은 특이합니다.
int형인데 main함수라
그럼 헬로우 월드 라는것은 케릭터형인데 인트형에..? 음 뭘까..
첫번째 질문은 int main(void)가 무엇이냐는 의미질문입니다.
두번째 질문은 return 형입니다.
참 많이 쓰죠,
그런데 이게 참 에매하네요
return 0;
return a;
return ;
참 다양하죠;
0으로 반환한다.
a값으로 반환한다.
세번째는 음.. 모르겠군요 ㅋ
return의 의미와 종류 그리고 심화쓰임새까지..이 두개의 질문에 대한 자세한 답변 부탁드립니다.
예시가 있으면 더욱 좋겠네요.
만약 그림이 있을경우 , 메일로 답변도 부탁드릴께요 ^^
열심히 하겠습니다.
-
큰모듬
return 부분에 대해서 재설명합니다. VC 의 경우에는 CRTMain 에서 main 이 int 를 반환하는 경우 그것을 exitcode 로 넘기게됩니다. (내부적으로 트레이스해보면 ExitProcess 에 파라메터로 메인 함수의 반환값이 들어갑니다)
프로젝트 기본 설정에서 main 을 괜히 int 로 잡는것은 아니랍니다. -
지은
그리고 마지막으로 void 부분인데..
이것은 인자값의 전달 부분입니다.
void는 전달할 인자값이 없다는 의미입니다..
인자값을 전달해야 할경우에는 해당 자료타입을 선언하시고 거기에 맞는 변수를 선언하셔야합니다.
전달된 값을 저장할 공간으로 사용이 되죠..
메인문에 인자 값이 있을경우에는 파일을 실행하실때 전달을 해줘야 하죠..
이것은 사용하시는 툴에서 설정할수도 있고 명령프롬프트(도스창)에서 인자를 정해주고 실행할수도 있습니다..
처음 C언어를 -
다온
윗분들이 좋은 글들을 남겨 주셨네요.....
간단하게 설명하자면 int main (void) 형태의 메인문에서
int 는 반환할 자료타입인데... C언어의 메인문은 특별히 반환할게 없어요..
메인 문이 끝이나면 프로 그램이 종료 되거든요...
상위 언어에서 2번째 메인을 호출할때나 가끔 쓰입니다..
그리고 반환형 자료타입은 주내용 이라고 하신 코딩부와는 다른 것입니다..
코딩하신것이 문자열 타입이라고 하더라도 반환할때 int 형태로만 반환하시면 되는거 -
벛꽃
return a; 라는 것은 a가 어떻게 선언되었느냐에 따라 int 인지 char인지 boolean인지 구별이 되겠지요.
return; 은 void 를 return하는거죠. void main() 같은거.. -
흡뜨다
2. return의 쓰임새: int Add(a, b) 라는 함수가 있습니다. 직관적으로 보았을 때, 이 함수는 a와 b라는 입력값을 받아서, a+b 라는 연산을 한 후, 그 결과값을 int 형태의 return값을 주는 함수죠. return 값이라는 것은 함수의 결과값을 나타낸다고 할 수 있습니다.
-
나츠
1. int main, void main: 이거는 mfc하고 c하고 다른 것으로 알고 있습니다. mfc 가 int 인거 같은데.. 암튼 이유는 int main은 int값을 return하고, void main은 return값이 없는 것이죠. 좀 더 설명하자면, main의 return값이 int로 된다면 프로그램의 비정상종료 여부등을 알 수 있지요. void의 경우는 왜 비정상종료가 되었는지 알 수 없고요. (종료되면서 return 값이 있으면, 레지스터에
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2676065 | 웹사이트 또는 메신저 등에서 원하는 텍스트를 검사하는방법?? (1) | 모든 | 2024-11-23 |
2676033 | 배열 기초연습중 발생하는 에러 ㅠㅜ... | Creative | 2024-11-23 |
2676005 | keybd_event 게임 제어 | 영글 | 2024-11-23 |
2675900 | 진짜기본적인질문 | 글길 | 2024-11-22 |
2675845 | 수정좀해주세요ㅠㅠㅠ | 해골 | 2024-11-21 |
2675797 | 병합 정렬 소스 코드 질문입니다. (2) | 도래솔 | 2024-11-21 |
2675771 | 큐의 활용이 정확히 어떻게 되죠?? | 해긴 | 2024-11-21 |
2675745 | 도서관리 프로그램 질문이요 | 도리도리 | 2024-11-20 |
2675717 | 2진수로 변환하는것! (3) | 동생몬 | 2024-11-20 |
2675599 | for문 짝수 출력하는 법 (5) | 널위해 | 2024-11-19 |
2675575 | Linux 게시판이 없어서.. | 첫삥 | 2024-11-19 |
2675545 | 구조체 이용할 때 함수에 자료 넘겨주는 것은 어떻게 해야 하나요? | 아연 | 2024-11-19 |
2675518 | 사각형 가로로 어떻게 반복해서 만드는지좀.. 내용 | 신당 | 2024-11-18 |
2675491 | !느낌표를 입력하는것은 어떻게합니까~~?ㅠㅠ (5) | 사지타리우스 | 2024-11-18 |
2675411 | 파일입출력으로 받아온 파일의 중복문자열을 제거한 뒤 파일출력 | 앨버트 | 2024-11-17 |
2675385 | 링크드리스트 주소록 질문드립니다. (1) | 겨루 | 2024-11-17 |
2675356 | 2진수를 10진수로 바꾸려고 하는데 막히네요.. | 풀잎 | 2024-11-17 |
2675297 | Prity 비트 발생기 | 한란 | 2024-11-16 |
2675249 | C책 좀 추천해 주세요 (2) | 딸기우유 | 2024-11-16 |
2675193 | 연습문제 17-1 질문입니다. | 한별나라 | 2024-11-15 |