Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Apakah Perbezaan Antara Pembolehubah Statik, Auto, Global dan Setempat dalam C dan C ?

Apakah Perbezaan Antara Pembolehubah Statik, Auto, Global dan Setempat dalam C dan C ?

DDD
DDDasal
2024-11-02 17:34:02946semak imbas

What's the Difference Between Static, Auto, Global, and Local Variables in C and C  ?

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!

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