Permulaan Lalai Ahli Struktur C
Dalam struct C, ahli tidak dimulakan secara automatik kepada 0 secara lalai. Untuk memulakan ahli struct kepada 0, terdapat beberapa pilihan:
Permulaan Nilai
Menggunakan pendakap kosong yang disertakan dengan pendakap { } memberikan nilai lalai kepada semua ahli:
Snapshot s = {};
Struktur Induk Rekursi
Jika struct induk mengandungi sub-struct, permulaan nilai struct induk juga akan memulakan ahli sub-structnya kepada 0:
struct Parent { Snapshot s; }; Parent p = {}; // p.s.{x,y} will be zero
Constructor Permulaan
Jika struct mempunyai pembina, ahli boleh dimulakan dalam parameternya senarai:
struct Snapshot { int x; double y; Snapshot():x(0),y(0) { } }; Snapshot s; // s.{x,y} will be zero
Permulaan Nilai Menggunakan ()
Pengamatan nilai, ditunjukkan dengan (), memulakan ahli tanpa mengira jenis mereka:
struct Snapshot { int x; double y; }; Snapshot s = {x(), y()}; // s.{x,y} will be zero
Perhatikan bahawa pemulaan nilai adalah penting untuk struktur templat, memastikan pemulaan yang betul untuk jenis yang berbeza.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memulakan Ahli Struktur C kepada Sifar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!