Pemulaan Ahli C Struct
C struct ialah jenis yang ditentukan pengguna yang mengumpulkan data pelbagai jenis bersama-sama. Persoalan biasa timbul mengenai permulaan lalai ahli struct. Adakah ia lalai secara automatik kepada sifar atau memerlukan permulaan eksplisit?
Permulaan Lalai
Dalam C , ahli struct tidak dimulakan kepada sifar secara lalai. Ini bermakna ahli struct yang tidak dimulakan boleh mengandungi nilai sampah. Untuk mengelakkan ini, anda perlu secara eksplisit memulakan ahli kepada nilai yang dikehendaki.
Pilihan Permulaan
Terdapat beberapa cara untuk memulakan ahli struct:
struct Snapshot { double x; int y; }; Snapshot s = {0,0}; // Initializes x=0 and y=0
struct Snapshot { double x; int y; }; Snapshot s = {}; // Initializes x=0 and y=0
struct Snapshot { int x; double y; Snapshot():x(0),y(0) { } }; Snapshot s; // Initializes x=0 and y=0
Permulaan Rekursif:
Permulaan nilai ialah rekursif, bermakna ia juga memulakan ahli struct bersarang. Contohnya:
struct Parent { Snapshot s; }; Parent p = {}; // Initializes p.s.x=0 and p.s.y=0
Kesimpulan:
Ahli struct C tidak dimulakan kepada sifar secara lalai. Anda mesti memulakannya secara eksplisit menggunakan salah satu kaedah yang diterangkan di atas untuk mengelakkan tingkah laku yang tidak ditentukan.
Atas ialah kandungan terperinci Bagaimanakah Ahli C Struct Dimulakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!