생선이의 잡다한 블로그

C언어 강좌 7 - Main이 뭔가 다른 강좌랑 다르다? 함수의 반환값과 main의 기본형 본문

프로그래밍/C언어 강좌

C언어 강좌 7 - Main이 뭔가 다른 강좌랑 다르다? 함수의 반환값과 main의 기본형

생선스프 2017. 3. 9. 20:30
반응형

안녕하세요 생선스프입니다~!


보통 다른 강좌를 보면 메인함수를 만들때

int main()
{
    return 0;
}
cs


이렇게 많이 씁니다


하지만 저는

void main()
{
    return;
}
cs

이렇게 씁니다

(return은 함수가 끝남을 알려주는것인데 비주얼스튜디오는 안적으면 알아서 넣어주므로 지금까지 생략한것입니다)


그럼 둘중 뭐가 맞는걸까요?

뭐 둘다 맞으니 지금까지 잘 작동한거겠죠


하지만 둘 다 기본형은 아닙니다!


완전기본형은

int main(int argc, char* argv[], char* envp[])
{
    return 0;
}

cs


이렇습니다

하지만 저기서 char* envp는 쓸일이 없어서

int main(int argc, char* argv[])
{
    return 0;
}
cs


이렇게 씁니다


그럼 저기서 괄호안에 argc와 argv는 무엇일까요?


cmd 로 프로그램을 실행할때 뒤에 옵션을 붙혀주는 경우가 있습니다

ipconfig -all 같이요


이때 이 옵션의 갯수가 argc에 들어가게 되고 옵션은 argv의 배열에 순서대로 들어가게 됩니다

하여튼 이것도 나중에 강좌를 할거니 다음으로 넘어가도록 하죠!


이제 함수의 반환값을 설명해보려고 합니다


위에 메인에서

int 일때는 return 0

void 일때는 return


이렇습니다

즉 return 뒤에 붙는 값은 함수의 자료형의 값인 것이죠


int는 정수형이니 정수형으로 return을 해주고

void는 없다는 뜻이니 뒤에 아무것도 붙혀주지않은것이죠


만약 char 라면 char형으로 return을 해줘야합니다


return값을 해당함수의 자료형과 다른값이면 에러가 뜹니다


그럼 이번강좌는 여기서 마치도록 하겠습니다

강좌 읽어주셔서 감사합니다


공감과 댓글은 생선에게 힘이됩니다!

더 많은 C언어 강좌

반응형
Comments