C dizisi başlatma
intializing bu formu tüm 0s bir dizi
5* *tüm Derleyiciler tarafından desteklenen? ,
eğer öyleyse, sözdizimi diğer türleri benzer var mı? örneğin
bool myBoolArray[ARRAY_SIZE] = {false}
CEVAP
Evet, başlatma bu formu tüm C derleyicileri tarafından desteklenir. C dilinin bir parçasıdır. Aslında C dili C den gelen bir deyim. C dili = { 0 }
bir deyimevrensel-başlatıcı sıfır. Bu daneredeyseC durumda .
Bu initalizer evrensel olduğu için, bool
dizi için gerçekten farklı bir ihtiyacın yok "". sözdizimi 0
bool
türü için bir başlatıcı olarak çalışıyor
bool myBoolArray[ARRAY_SIZE] = { 0 };
garantili tüm diziyi başlatmak için false
ile. Sıra
char* myPtrArray[ARRAY_SIZE] = { 0 };
14 ** tip boş-işaretçiler ile bütün diziyi başlatmak için garantili.
Eğer okunabilirliği arttırır düşünüyorsanız, kesinlikle kullanabilirsiniz
bool myBoolArray[ARRAY_SIZE] = { false };
char* myPtrArray[ARRAY_SIZE] = { NULL };
ama konu = { 0 }
değişken verirtam olarakaynı sonuç.
Ancak, C = { 0 }
integral 0
ile başlatılamıyor olan numaralama türleri, örneğin, gibi tüm türleri için işe yaramayabilir. Bu nedenle özellikle C kısa form destekler
T myArray[ARRAY_SIZE] = {};
yani {}
sadece boş bir çift. Bu varsayılan başlatma (skaler) temel tip için tüm diziyi düzgün sıfır başlatılması anlamına gelir herhangi bir türü (öğeleri varsayılan başlatma izin varsayarsak), bir dizi.
C 0'dan başlatma dizisi...
ArrayList başlatma dizisi başlatma eşd...
Köşeli parantez C dizisi başlatma ne d...
C dizisi başlatma...
Nasıl bir char dizisi bir dizeye dönüş...