Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Memulakan Semua Elemen Tatasusunan dengan Cekap kepada Nilai Lalai dalam C?

Bagaimana untuk Memulakan Semua Elemen Tatasusunan dengan Cekap kepada Nilai Lalai dalam C?

DDD
Lepaskan: 2024-12-24 16:03:14
asal
273 orang telah melayarinya

How to Efficiently Initialize All Array Elements to a Default Value in C  ?

Pemulaan Semua Elemen Tatasusunan kepada Nilai Lalai

Dalam C , anda boleh memulakan semua elemen tatasusunan kepada nilai lalai menggunakan sintaks berikut:

int array[100] = {0};
Salin selepas log masuk

Ini akan menetapkan semua elemen tatasusunan kepada 0. Walau bagaimanapun, anda mungkin menghadapi tingkah laku yang tidak dijangka apabila cuba untuk memulakan semua elemen kepada nilai bukan sifar, seperti -1.

Menetapkan Semua Elemen kepada Nilai Bukan Sifar

Sintaks:

int array[100] = {-1};
Salin selepas log masuk

mengarahkan pengkompil untuk menetapkan hanya elemen pertama kepada -1, manakala elemen yang selebihnya akan lalai kepada 0. Untuk memulakan semua elemen kepada -1, anda boleh menggunakan kaedah seperti:

  • std::fill_n (C Standard Library):
std::fill_n(array, 100, -1);
Salin selepas log masuk
  • Permulaan Berasaskan Gelung (Mudah alih C):
for (int i = 0; i < 100; i++) {
  array[i] = -1;
}
Salin selepas log masuk

Pertimbangan Prestasi

Sama ada permulaan lalai lebih pantas daripada pendekatan berasaskan gelung bergantung pada faktor seperti pengkompil dan sasaran platform. Secara umum, penyusun moden boleh mengoptimumkan pemulaan berasaskan gelung jauh dengan menggunakan intrinsik khusus platform. Oleh itu, perbezaan prestasi sering diabaikan.

Atas ialah kandungan terperinci Bagaimana untuk Memulakan Semua Elemen Tatasusunan dengan Cekap kepada Nilai Lalai dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan