Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Permulaan Separa Struktur dan Tatasusunan Berfungsi dalam C dan C?

Bagaimanakah Permulaan Separa Struktur dan Tatasusunan Berfungsi dalam C dan C?

Barbara Streisand
Barbara Streisandasal
2024-12-24 08:40:19587semak imbas

How Does Partial Initialization of Structures and Arrays Work in C and C  ?

Pemulaan Separa Struktur dan Tatasusunan Automatik dalam C dan C

Permulaan Separa

Dalam bahasa pengaturcaraan berstruktur seperti C dan C , pemula boleh digunakan untuk memberikan nilai kepada ahli data di masa pengisytiharan objek. Walau bagaimanapun, tidak seperti kes 1 dalam coretan kod yang disediakan di bawah, apabila pemula yang lebih sedikit daripada bilangan ahli disediakan, piawaian hanya mentakrifkan dua jenis pemula:

struct someStruct {
    int a;
    int b;
    int c;
};

// Partial Initialization
struct someStruct s = {123,};
// Complete Initialization
struct someStruct s = {123, 456, 789};

// No Initialization
struct someStruct s;

Peraturan untuk Permulaan Separa Tatasusunan dan Struktur

Dalam praktiknya, istilah "Partial Initialization" ialah selalunya digunakan untuk menerangkan situasi seperti dalam kes 1 di atas, di mana pemula disediakan untuk subset ahli sahaja. Walaupun kedua-dua piawaian C dan C tidak secara eksplisit merujuk kepada pemulaan separa, ia mentakrifkan gelagat untuk kedua-dua pemulaan lengkap dan tanpa pemula, dengan peraturan berikut digunakan pada pemulaan separa juga:

  • Jika tatasusunan atau struktur dimulakan sebahagiannya, sebarang elemen yang tidak dimulakan akan dimulakan sifar, tanpa mengira jenis storannya.
  • Tingkah laku ini dijamin oleh C99 Standard (6.7.8.21) untuk C dan Standard C 03 (8.5.1 dan 8.5) untuk C .

Memastikan Keserasian

Untuk memastikan keserasian dengan pelbagai penyusun, termasuk gcc/g , adalah disyorkan untuk mengikuti peraturan standard apabila memulakan struktur dan tatasusunan, mengelakkan separa permulaan kerana ia mungkin membawa kepada tingkah laku yang tidak dijangka.

Atas ialah kandungan terperinci Bagaimanakah Permulaan Separa Struktur dan Tatasusunan Berfungsi dalam C dan 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