问答详情
源自:5-13 内部函数与外部函数

为什么在test.c中,要将整个函数设定为static,而不能只将printLine设定为static

#include <stdio.h>
static void say(){
    printLine();
    printf("I love imooc\n");
    printf("good good study!\n");
    printf("day day up!\n");
    printLine();
}

提问者:weixin_慕侠1409953 2020-06-26 18:51

个回答

  • avensliudj
    2020-06-26 22:50:05

    test.c中是say()函数的具体说明与实现;hello.c中的main函数中有内部函数也是say()函数,而hello.c的头文件中已经包含了"test.c",这样会让编译器认为say()函数定义了两次,所以,只能在test.c中定义say()函数为static,说明此函数作用域只在test.c中使用。