在C語言中,extern
和static
關鍵字用于控制變量和函數的存儲類別和可見性
extern
:
extern
關鍵字的變量或函數具有外部鏈接性,可以在其他源文件中訪問。extern
聲明一個變量或函數時,編譯器會在鏈接階段查找該變量或函數的定義。extern
聲明同一個變量或函數,它們將共享同一個實例。static
:
static
關鍵字的變量或函數具有內部鏈接性,只能在定義它的源文件中訪問。static
聲明一個變量或函數時,它不會與其他源文件中的同名變量或函數發生沖突。static
聲明同名的變量或函數,它們將分別在各自的源文件中生成獨立的實例。總結:
extern
用于聲明一個變量或函數,表示它在其他文件中定義,并允許在其他源文件中訪問。static
用于限制變量或函數的可見性,使其僅在定義它的源文件中可見,避免命名沖突。