Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Memulakan Semua Elemen Tatasusunan C kepada Nilai Bukan Sifar Tertentu?

Bagaimanakah Saya Boleh Memulakan Semua Elemen Tatasusunan C kepada Nilai Bukan Sifar Tertentu?

Susan Sarandon
Susan Sarandonasal
2024-12-20 01:05:09566semak imbas

How Can I Initialize All Elements of a C   Array to a Specific Non-Zero Value?

Pemulaan Tatasusunan kepada Nilai Lalai dalam C

Apabila memulakan tatasusunan dalam C , menggunakan tatasusunan int sintaks[100] = {- 1}; menetapkan hanya elemen pertama kepada nilai yang ditentukan, manakala elemen selebihnya dimulakan kepada 0. Ini kerana sintaks {} hanya memulakan elemen pertama, meninggalkan yang lain untuk dimulakan dengan nilai lalai.

Untuk memulakan semua elemen kepada nilai bukan sifar tertentu, seperti -1, fungsi std::fill_n daripada pengepala boleh digunakan:

std::fill_n(array, 100, -1);

Sebagai alternatif, dalam mudah alih C tanpa fungsi std::fill_n, gelung boleh digunakan:

for (int i = 0; i < 100; i++) {
  array[i] = -1;
}

Mengenai prestasi, memulakan tatasusunan dengan nilai bukan sifar melalui fungsi std::fill_n atau gelung tidak mempunyai perbezaan prestasi yang ketara berbanding dengan menggunakan {} sintaks untuk nilai 0. Dalam mana-mana kes, pengkompil mengoptimumkan proses pemula.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memulakan Semua Elemen Tatasusunan C kepada Nilai Bukan Sifar Tertentu?. 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