강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của tojsvb1537
tojsvb1537

câu hỏi đã được viết

Học lập trình C cùng Hong Jeong-mo

12.7 Biến tĩnh trong vùng khối

함수호출위치 및 메모리

Viết

·

286

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함수부터 실행한다고 했는데 어떻게 되는건가요?
또한 전역변수처럼 메모리에 끝까지 남아있는건가요?
c

Câu trả lời 1

0

#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)에 대한 호출은 이루어지지 않아 아무 출력이 없이 코드가 종료됨을 볼 수 있습니다.

tojsvb1537님의 프로필 이미지
tojsvb1537
Người đặt câu hỏi

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

 

Hình ảnh hồ sơ của tojsvb1537
tojsvb1537

câu hỏi đã được viết

Đặt câu hỏi