Başlıklı.
void foo() {}
int main(void) {
foo(); // what is the value of this expression?
}
Bu demek oluyor mu void
ayrıca C'de bir değer türü var mı? Ya da bunu nasıl anlamalıyım?
Başlıklı.
void foo() {}
int main(void) {
foo(); // what is the value of this expression?
}
Bu demek oluyor mu void
ayrıca C'de bir değer türü var mı? Ya da bunu nasıl anlamalıyım?
Bir void ifadesinin değeri yoktur ve aslında kullanılamaz. Bu, C standardının 6.3.2.2 bölümünde ayrıntılı olarak açıklanmıştır:
Bir void ifadesinin (var olmayan) değeri (var olan bir ifade) tip
void
) hiçbir şekilde kullanılmayacak ve örtük veya açık dönüşümler (hariçvoid
) uygulanmaz böyle bir ifade. Başka türde bir ifade ise boşluk olarak değerlendirildi ifade, değeri veya göstergesi atılır. (Geçersizlik ifade onun için değerlendirilir yan etkileri.)
Evet ve hayır. Hayır, void değeri olmayan bir türdür. Adından da anlaşılacağı gibi, bir ifadede türün yokluğunu temsil eder. Değeri var ama bir türü yokluğu temsil eden Evet, çünkü anlamına gelir. Ve bu değer, farklı veri türlerini ayırt etme yeteneği gerektiren bir dilde hiçbir şeyi temsil etmemektir.