Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Berkongsi Pembolehubah Global Antara Berbilang Fail C/C?

Bagaimana untuk Berkongsi Pembolehubah Global Antara Berbilang Fail C/C?

Barbara Streisand
Barbara Streisandasal
2024-12-07 17:13:12462semak imbas

How to Share Global Variables Between Multiple C/C   Files?

Mengakses Pembolehubah Global Merentas Berbilang Fail dalam C/C

Apabila bekerja dengan berbilang fail sumber dalam program C/C, ia selalunya perlu untuk berkongsi pembolehubah global di antara mereka. Ini boleh dicapai melalui pelbagai kaedah, termasuk pengisytiharan statik dan extern atau menggunakan fail pengepala.

Pertimbangkan contoh disediakan:

sumber1.cpp:

int global;

int function();

int main()
{
    global = 42;
    function();
    return 0;
}

sumber2.cpp:

int function()
{
    if (global == 42)
        return 42;
    return 0;
}

Penyelesaian 1: Fail Pengepala dengan extern

Pendekatan pilihan adalah untuk mengisytiharkan extern pembolehubah global dalam fail pengepala yang disertakan oleh kedua-dua sumber fail:

common.h:

extern int global;

source1.cpp:

#include "common.h"

int global;  // Only define it in one file

int function();

int main()
{
    global = 42;
    function();
    return 0;
}

sumber2 .cpp:

#include "common.h"

int function()
{
    if (global == 42)
        return 42;
    return 0;
}

Ini memastikan pengisytiharan global boleh dilihat kepada kedua-dua fail sumber, tetapi hanya satu takrifan yang ada (dalam source1.cpp). Kata kunci luaran menyatakan bahawa pembolehubah diisytiharkan di tempat lain.

Atas ialah kandungan terperinci Bagaimana untuk Berkongsi Pembolehubah Global Antara Berbilang Fail C/C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn