Skop pembolehubah C++
Skop ialah kawasan program Secara umumnya, terdapat tiga tempat di mana pembolehubah boleh diisytiharkan:
Pembolehubah diisytiharkan di dalam fungsi atau. blok kod, dipanggil pembolehubah tempatan.
Pembolehubah yang diisytiharkan dalam takrifan parameter fungsi dipanggil parameter formal.
Pembolehubah yang diisytiharkan di luar semua fungsi dipanggil pembolehubah global.
Kita akan belajar apakah fungsi dan parameter dalam bab seterusnya. Dalam bab ini, kami mula-mula menerangkan pengisytiharan pembolehubah tempatan dan pembolehubah global.
Pembolehubah setempat
Pembolehubah yang diisytiharkan di dalam fungsi atau blok kod dipanggil pembolehubah tempatan. Ia hanya boleh digunakan oleh pernyataan di dalam fungsi atau blok kod. Contoh berikut menggunakan pembolehubah tempatan:
#include <iostream> using namespace std; int main () { // 局部变量声明 int a, b; int c; // 实际初始化 a = 10; b = 20; c = a + b; cout << c; return 0; }
Pembolehubah global
Pembolehubah yang ditakrifkan di luar semua fungsi (biasanya di kepala program) dipanggil pembolehubah global. Nilai pembolehubah global adalah sah sepanjang kitaran hayat program.
Pembolehubah global boleh diakses oleh mana-mana fungsi. Dalam erti kata lain, sebaik sahaja pembolehubah global diisytiharkan, ia tersedia sepanjang keseluruhan program. Contoh berikut menggunakan pembolehubah global dan pembolehubah tempatan:
#include <iostream> using namespace std; // 全局变量声明 int g; int main () { // 局部变量声明 int a, b; // 实际初始化 a = 10; b = 20; g = a + b; cout << g; return 0; }
Dalam program, nama pembolehubah tempatan dan pembolehubah global boleh sama, tetapi dalam fungsi, nilai pembolehubah tempatan akan mengatasi nilai pembolehubah global. Berikut ialah contoh:
#include <iostream> using namespace std; // 全局变量声明 int g = 20; int main () { // 局部变量声明 int g = 10; cout << g; return 0; }
Apabila kod di atas disusun dan dilaksanakan, ia akan menghasilkan keputusan berikut:
10
Memulakan pembolehubah tempatan dan pembolehubah global
Apabila pembolehubah tempatan Apabila ditakrifkan, sistem tidak akan memulakannya, anda mesti memulakannya sendiri. Apabila mentakrifkan pembolehubah global, sistem akan secara automatik memulakan pembolehubah tersebut kepada nilai berikut:
数据类型 | 初始化默认值 |
---|---|
int | 0 |
char | ' |