Memahami Pembolehubah Statik, Auto, Global dan Setempat dalam C dan C
Apabila bekerja dengan pembolehubah dalam C dan C , adalah penting untuk memahami nuansa antara pembolehubah statik, auto, global dan tempatan. Perbezaan ini berkaitan dengan kebolehcapaian dan jangka hayatnya dalam program.
Pembolehubah Setempat
Pembolehubah setempat, kadangkala dirujuk sebagai pembolehubah "skop blok", mendiami blok kod di mana ia diisytiharkan. Pembolehubah ini hanya wujud apabila blok dimasuki dan tidak lagi wujud apabila ia keluar. Menggambarkan konsep ini:
void f() { int i; // Local variable i = 1; // Accessible within f() }
Pembolehubah Global
Pembolehubah global mempunyai "skop fail" (dalam C) atau "skop ruang nama" (dalam C ). Mereka boleh diakses dari mana-mana titik program berikutan pengisytiharan mereka, seperti yang ditunjukkan di sini:
int i; // Global variable void f() { i = 1; // Accessible anywhere }
Pembolehubah Automatik
Pembolehubah automatik, dikenali sebagai "tempoh storan automatik " pembolehubah, tinggal secara tempatan. Kewujudan mereka terhad kepada tempoh blok yang mereka diami. Apabila keluar dari blok, pembolehubah ini dimusnahkan dan wujud semula apabila memasuki semula blok.
for (int i = 0; i < 5; ++i) { int n = 0; // Automatic variable printf("%d ", ++n); // Value of n is reset to 0 each iteration }
Pembolehubah Statik
Pembolehubah statik, sebaliknya tangan, nikmati jangka hayat yang dilanjutkan dalam program (dirujuk sebagai "tempoh penyimpanan statik"). Walaupun kawalan keluar dari skopnya, nilainya tetap hidup.
for (int i = 0; i < 5; ++i) { static int n = 0; // Static variable printf("%d ", ++n); // Value of n persists across iterations }
Kesimpulannya, memahami perbezaan antara jenis pembolehubah ini membolehkan pengaturcaraan yang lebih cekap dan disasarkan dalam C dan C . Memahami skop dan jangka hayat mereka membolehkan pembangun memilih jenis pembolehubah yang sesuai untuk keperluan khusus mereka.
Atas ialah kandungan terperinci Apakah Perbezaan Antara Pembolehubah Statik, Auto, Global dan Setempat dalam C dan C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!