c语言中public什么意思
C语言提供了一些机制来实现类似的功能,下面将介绍几种常见的方法来控制变量和函数的可见性。
(图片来源网络,侵删)
1、使用全局变量和函数
在C语言中,全局变量和函数在整个程序中都是可见的,这意味着你可以在程序的任何地方访问和修改它们,要定义一个全局变量,只需在源文件的任何位置声明它,而不需要在任何特定的函数或代码块中声明,同样地,要定义一个全局函数,只需在源文件中的任何位置声明它,而不需要在任何特定的函数或代码块中声明。
示例:
#include <stdio.h> int globalVar = 10; // 全局变量 void globalFunction() { printf("This is a global function. "); } int main() { globalVar = 20; // 修改全局变量的值 globalFunction(); // 调用全局函数 return 0; }
2、使用静态变量和函数
静态变量和函数在它们所在的源文件中是可见的,但在其他源文件中是不可见的,要定义一个静态变量,可以在函数内部使用static
关键字进行声明,要定义一个静态函数,可以在函数返回类型前使用static
关键字进行声明。
示例:
#include <stdio.h> static int staticVar = 10; // 静态变量 static void staticFunction() { printf("This is a static function. "); } int main() { staticVar = 20; // 修改静态变量的值 staticFunction(); // 调用静态函数 return 0; }
3、使用外部变量和函数
外部变量和函数可以在多个源文件中共享和使用,要定义一个外部变量,需要在源文件的任何位置使用extern
关键字进行声明,要定义一个外部函数,需要在源文件的任何位置使用extern
关键字进行声明,在需要使用该变量或函数的其他源文件中,再次使用extern
关键字进行声明即可。
示例:
// file1.c #include <stdio.h> int externalVar = 10; // 外部变量 void externalFunction() { printf("This is an external function. "); }
// file2.c #include <stdio.h> extern int externalVar; // 声明外部变量 extern void externalFunction(); // 声明外部函数 int main() { externalVar = 20; // 修改外部变量的值 externalFunction(); // 调用外部函数 return 0; }
4、使用头文件和宏定义
另一种实现类似"public"的方法是使用头文件和宏定义,通过将公共接口和常量定义为宏,并在头文件中包含这些宏的定义,可以将它们暴露给其他源文件,这样,其他源文件可以通过包含相应的头文件来访问和使用这些公共接口和常量。
示例:
// public.h #ifndef PUBLIC_H_INCLUDED #define PUBLIC_H_INCLUDED #define PI 3.14159 // 公共常量宏定义 void printHello(); // 公共函数宏定义 #endif // PUBLIC_H_INCLUDED