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
Lepaskan: 2024-12-07 17:13:12
asal
458 orang telah melayarinya

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;
}
Salin selepas log masuk

sumber2.cpp:

int function()
{
    if (global == 42)
        return 42;
    return 0;
}
Salin selepas log masuk

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;
Salin selepas log masuk

source1.cpp:

#include "common.h"

int global;  // Only define it in one file

int function();

int main()
{
    global = 42;
    function();
    return 0;
}
Salin selepas log masuk

sumber2 .cpp:

#include "common.h"

int function()
{
    if (global == 42)
        return 42;
    return 0;
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan