为什么test.c第二行的void前面要加static,不加就会有错误?

来源:5-13 内部函数与外部函数

dodo66

2017-10-21 15:43

static不是说是内部函数么,如果定义为static void的话,hello,c不就不能调用了么

写回答 关注

3回答

  • 慕粉1517097472
    2017-10-28 09:36:15
    已采纳

    这样做是可以的。然后又不懂了,既然extern是外部“也“可以调用的,那么为什么这里一定要static呢【耸肩

    dodo66

    test.c中的static不加好像可以,前提是把main.c的#include"test.c"删掉后

    2017-10-28 23:16:44

    共 1 条回复 >

  • qq_SpadY诺倾_0
    2018-04-16 11:04:42

    我和你理解的一样,可是为什么运行后还是会有警告呢?


  • dodo66
    2017-10-21 15:51:18

    搞懂了...hello.c开头调用了test.c的函数,所以可以调用say();如果把#include "test.c"  删掉,那么在test.c中的void前面加extern也是可以通过的,不知道理解的对不对,拜托大神验证~

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926894 学习 · 21492 问题

查看课程

相似问题