首頁 >後端開發 >C++ >什麼時候應該在 C 中使用'extern”聲明?

什麼時候應該在 C 中使用'extern”聲明?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-20 20:51:11782瀏覽

When Should You Use the `extern` Declaration in C  ?

何時在 C 中使用 Extern 宣告

extern 宣告是 C 中管理全域變數的有用工具。它使程式設計師能夠將變數的聲明與定義分開,從而更好地控制這些變數的範圍和使用。

透過在頭文件中聲明全域變量,例如 extern int x;,您可以為包含標頭的所有來源文件確定其存在。然而,變數的實際定義需要記憶體分配,通常是在單一來源檔案中完成的。

考慮以下範例:

頭檔(header.h )

#ifndef HEADER_H
#define HEADER_H

extern int global_x;
void print_global_x();

#endif

來源檔案1 (source1.cpp)

#include "header.h"

int global_x;

int main()
{
    global_x = 5;
    print_global_x();
}
來源檔案1 (source1.cpp)

#include <iostream>
#include "header.h"

void print_global_x()
{
    std::cout << global_x << std::endl;
}
原始檔 2 (source2.cpp)

在此範例中,global_x 被聲明為外部標頭,允許兩個原始檔案存取它。但是,在source1.cpp中將其定義為int global_x;建立對兩個來源檔案都可見的變數的單一實例。這確保了任一檔案中 global_x 的變更都會反映在其他檔案中。 使用 extern 宣告可以靈活地管理全域變量,減少執行時錯誤的可能性並改善程式碼組織。它允許在標頭中集中聲明變量,同時在實際使用它們的本地化原始檔中啟用它們的定義。

以上是什麼時候應該在 C 中使用'extern”聲明?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn