• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

함수호출위치 및 메모리

21.11.29 12:04 작성 조회수 140

0

강의를 보는 중간에 항상 함수 호출은 main 함수에서 하던데 비주얼스튜디오에서 main함수위에 하면 오류가 뜨더라고요
예를들어
#include <stdio.h>
 
int func(int num)
{
 int result = num + 3;
 printf("%d", result);
 return result;
}
 
func(3);
 
void main(void)
{
 
}
이렇게 변수처럼 전역변수자리에 함수호출은 허용안되는 건가요?
만약에 된다고 하면 항상 main함수부터 실행한다고 했는데 어떻게 되는건가요?
또한 전역변수처럼 메모리에 끝까지 남아있는건가요?

답변 1

답변을 작성해보세요.

0

고래님의 프로필

고래

2021.11.30

#include <stdio.h>

 

int func(int num) {

int result = num + 3;

printf("%d", result);

return result;

}

int a = 3;

func(a);

 

void main(void) {

}

위와 같이 코드를 변경하시면 오류가 없이 작동이 됩니다. 다만, 항상 Main함수에서 코드가 시작 되기 때문에, debug를 해보시면, main함수부터 시작하고 func(a)에 대한 호출은 이루어지지 않아 아무 출력이 없이 코드가 종료됨을 볼 수 있습니다.

조광현님의 프로필

조광현

질문자

2021.12.01

그럼 오류만 뜨지 않고 Main함수위에는 함수를 호출해도 소용이 없는 건가요?