Rumah >pembangunan bahagian belakang >C++ >Bila dan Bagaimanakah Pembolehubah Dimulakan Secara Automatik dalam C?

Bila dan Bagaimanakah Pembolehubah Dimulakan Secara Automatik dalam C?

Barbara Streisand
Barbara Streisandasal
2024-12-03 17:31:10977semak imbas

When and How Are Variables Automatically Initialized in C  ?

Permulaan Pembolehubah dalam C : Bila dan Di Mana Ia Berlaku Secara Automatik?

Memahami pemulaan pembolehubah dalam C adalah penting untuk membangunkan kod yang mantap. Bertentangan dengan andaian bahawa pembolehubah int dimulakan secara automatik kepada 0, coretan kod berikut menunjukkan bahawa ini tidak berlaku:

int main () {
    int a[10];
    int i;
    cout << i << endl;
    for(int i = 0; i < 10; i++)
        cout << a[i] << " ";
    return 0;
}

Kod ini akan mengeluarkan nilai rawak untuk pembolehubah tidak diinisialisasi i. Untuk menangani perkara ini, adalah penting untuk memahami peraturan yang mengawal pemula dalam C .

Peraturan Permulaan Automatik

Dalam C , pembolehubah dimulakan secara automatik hanya dalam keadaan tertentu:

  • Kelas/Struktur Contoh: Lalai pemula pembina akan memulakan semua jenis primitif dalam contoh kelas atau struct.
  • Sintaks Pemula Tatasusunan: Menggunakan pendakap kerinting untuk memulakan tatasusunan, cth., int a[10] = {} atau int a [10] = {1,2}, secara automatik akan mensifarkan mana-mana yang tidak dimulakan elemen.
  • Pembolehubah Global/Luaran: Pembolehubah yang diisytiharkan di luar skop fungsi (global atau luaran) dimulakan secara automatik kepada 0.
  • Pembolehubah Statik: Pembolehubah dengan kata kunci statik dimulakan secara automatik kepada 0, tanpa mengira mereka skop.

Atas ialah kandungan terperinci Bila dan Bagaimanakah Pembolehubah Dimulakan Secara Automatik dalam 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