在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
如果一个程序中有多个源文件(.c),编译成功会生成对应的多个目标文件(.obj),这些目标文件还不能单独运行,因为这些目标文件之间可能会有关联,比如a.obj可能会调用c.obj中定义的一个函数。将这些相关联的目标文件链接在一起后才能生成可执行文件。 外部函数:如果在当前文件中定义的函数允许其他文件访问、调用,就称为外部函数。C语言规定,不允许有同名的外部函数。 1.static 3.代码 main.c文件 1 /* 2 外部函数:定义的函数能被本文件和其他文件访问 3 1> 默认情况下所有函数都是外部函数 4 2> 不允许有同名的外部函数 5 6 内部函数:定义的函数只能被本文件访问,其他文件不能访问 7 1> 允许不同文件中有同名的内部函数 8 9 static对函数的作用: 10 1> 定义一个内部函数 11 2> 声明一个内部函数 12 13 extern对函数的作用: 14 1> 完整地定义一个外部函数 15 2> 完整地声明一个外部函数 16 (extern可以省略,默认情况下声明和定义的函数都是外部函数) 17 */ 18 19 20 // 声明一个test函数 21 // 完整地声明一个外部函数 22 // extern可以省略 23 //extern void test(); 24 void test(); 25 26 //void test2(); 27 28 int main() 29 { 30 test(); 31 32 //test2(); 33 return 0; 34 } 35 36 //void test() 37 //{ 38 // 39 //} 40 static void test2() 41 { 42 43 } one.c文件 1 #include <stdio.h> 2 3 // 声明一个内部函数 4 static void test2(); 5 6 // 完整地定义一个外部函数 7 /* 8 extern void test() 9 { 10 printf("调用了test函数\n"); 11 }*/ 12 // 默认情况下,所有的函数都是外部函数,所以可以省略extern 13 void test() 14 { 15 printf("调用了test函数\n"); 16 17 test2(); 18 } 19 20 21 // 定义一个内部函数 22 static void test2() 23 { 24 printf("调用了test2函数\n"); 25 }
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论