温馨提示×

C语言extern与static的区别

小樊
82
2024-08-27 02:54:06
栏目: 编程语言

在C语言中,externstatic关键字用于控制变量和函数的存储类别和可见性

  1. extern

    • 用于声明一个变量或函数,表示它在其他文件中定义。
    • 使用extern关键字的变量或函数具有外部链接性,可以在其他源文件中访问。
    • 当在一个源文件中使用extern声明一个变量或函数时,编译器会在链接阶段查找该变量或函数的定义。
    • 如果在多个源文件中使用extern声明同一个变量或函数,它们将共享同一个实例。
  2. static

    • 用于限制变量或函数的可见性,使其仅在定义它的源文件中可见。
    • 使用static关键字的变量或函数具有内部链接性,只能在定义它的源文件中访问。
    • 当在一个源文件中使用static声明一个变量或函数时,它不会与其他源文件中的同名变量或函数发生冲突。
    • 如果在多个源文件中使用static声明同名的变量或函数,它们将分别在各自的源文件中生成独立的实例。

总结:

  • extern用于声明一个变量或函数,表示它在其他文件中定义,并允许在其他源文件中访问。
  • static用于限制变量或函数的可见性,使其仅在定义它的源文件中可见,避免命名冲突。

0