Rumah > pembangunan bahagian belakang > C++ > 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
Lepaskan: 2024-11-02 17:34:02
asal
984 orang telah melayarinya

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

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

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

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

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!

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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan