Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah C dan C Berbeza dalam Memulakan Pembolehubah Statik dan Global?

Bagaimanakah C dan C Berbeza dalam Memulakan Pembolehubah Statik dan Global?

Mary-Kate Olsen
Lepaskan: 2024-11-05 19:22:02
asal
1009 orang telah melayarinya

How do C and C   Differ in Initializing Static and Global Variables?

Permulaan Pembolehubah Statik dan Global

Dalam C dan C , pembolehubah dikategorikan berdasarkan skop dan tempoh, dengan pembolehubah statik dan global menjadi yang mempunyai tempoh yang paling lama. Memahami proses pemulaan mereka adalah penting untuk analisis kod yang komprehensif.

Permulaan Pembolehubah C

Tidak seperti C , C tidak mempunyai prosedur pemulaan yang jelas sebelum fungsi utama. Pembolehubah global dan statik dalam C dimulakan dengan nilai lalai:

  • Pembolehubah int tidak dimulakan lalai kepada 0.
  • pembolehubah statik dan luaran tanpa pemula ditetapkan kepada 0 oleh pemaut.

Permulaan Pembolehubah C

Tidak seperti C, C memulakan objek global dan statik dalam tiga fasa berbeza:

  1. Permulaan Sifar : Semua objek statik pada mulanya ditetapkan kepada 0.
  2. Permulaan Statik: Pembolehubah dengan pemula statik diberikan nilai yang ditentukan.
  3. Permulaan Dinamik: Pembolehubah yang memerlukan pelaksanaan kod untuk permulaan dimulakan.

Storan Nilai dan Tugasan

Nilai yang digunakan untuk permulaan disimpan dalam boleh laku semasa penyusunan . Begini cara ini berfungsi:

  • Nilai pemula statik disimpan dalam bahagian khusus boleh laku yang dikenali sebagai ".data".
  • Pembolehubah tidak diinisialisasi menduduki bahagian yang dipanggil ".bss", yang ditetapkan kepada 0 oleh sistem pengendalian.
  • Pembolehubah yang dimulakan secara dinamik tidak mempunyai nilai pra-diberikan dalam boleh laku.

Contoh Permulaan

Pertimbangkan kod C berikut:

<code class="c">int global_int1 = 5;
int global_int2;
static int static_int1 = 4;
static int static_int2;</code>
Salin selepas log masuk
  • global_int1 dimulakan kepada 5 semasa pemulaan statik.
  • global_int2 dan static_int2 dimulakan kepada 0 semasa pemulaan sifar.

Atas ialah kandungan terperinci Bagaimanakah C dan C Berbeza dalam Memulakan Pembolehubah Statik dan Global?. 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