C'de, void
ilgisiz çoklu şeyler için kullanılır. Ne için kullanıldığına bağlı olarak, anlamı bir birim tipi, boş bir tip veya başka bir şey olabilir.
Tek void
başına kullanıldığında ( void*
geçersiz olan bir işaretçi yerine), birim türdür, yani tek değerli bir tür. Dönen işlevlerin void
“hiçbir şey döndürme” olduğu söylenir, ancak bunun gerçek anlamı, hiçbir bilgi döndürmedikleridir. Bunlar geri bunlar içeren tipte bir değeri döndürmek araçlarının bilgi bit, 2 0 = 1 farklı değerleri, yani, bir birim türü.020= 1
Bu boş bir tür değil: boş bir tür döndüren işlev, bu tür bir değer olmadığından bir değer döndüremez. Dönüş tipi boş olan bir işlev yalnızca sonsuza kadar döngü yapabilir veya programı iptal edebilir veya bir istisna ( longjmp
) (veya örneğin standart C'nin ötesindeki işlevselliği kullanarak kontrolü başka bir iş parçacığına ya da işlemi aktararak) geri döndürmemeyi ayarlayabilir. İşleri kafa karıştırıcı tutmak için, void
boş bir tür yerine kullanmak gelenekseldir (C boş bir tür içermez).
void
Tipi gerektiren depolama bit. C, her nesnede sıfırdan fazla sayıda baytlık bir depolama alanı işgal ettiğinde ısrar ettiğinden, bir tür nesnesi oluşturmak yasaktır ve değeri döndürmek için özel bir sözdizimi vardır ( değeri ihmal edilen bir ifade). Türün değerini veren sözdizimi yoktur , ancak bu değer, dönüş türü döndürülen bir işlev olduğunda oradadır .0void
void
return
void
void
C, olası herhangi bir türe izin verme anlamında bir alt türe sahip değildir. Eksik tipler bile değerlerinin genel niteliğini belirtir; örneğin, işaretçiler veya yapılar veya sendikalar veya işlevler. Ancak void*
, herhangi bir işlev dışı tür için bir işaretçidir: nesne işaretçi türlerinin cebirindeki en küçük öğedir, yani en alttaki nesne işaretçi türüdür. Genel durumda aksine T*
nerede T
olmayan bazı boşluk türüdür void*
türünde bir değere işaretçiler türü değil void
, ama belirtilmemiş türde bir değere işaretçiler türü.