SORU
9 EYLÜL 2008, Salı


Orada foo(void) ve foo arasında bir fark var mı() C veya C

Bu iki fonksiyon tanımları göz önünde bulundurun

void foo(){}

void foo(void){}

Bu ikisi arasında herhangi bir fark var mı? Neden geçersiz argüman yok? Estetik nedenler?

CEVAP
9 EYLÜL 2008, Salı


Ana nedeni C ve C arasında paylaşılan başlıkları tutarlı yorumlanması elde etmektir .

C:
void foo() demek "fonksiyonu foo belirlenemeyen tür bağımsız değişken sayısı bilinmeyen alma"
void foo(void) demek "fonksiyonu foo hiçbir argüman alacak"

C:
void foo() demek "7 ** bir işlev argüman alacak"
void foo(void) demek "fonksiyonu foo hiçbir argüman alacak"

Yazılı foo(void), Bu nedenle, elde aynı yorumu genelinde her iki dilde ve bizim başlıklar çok dilli (gerçi biz genelde gerek bazı şeyler için başlıklar yapmak onları gerçekten çapraz dil; yani, sarın onları bir extern "C" eğer derleme C ).

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Amena

    Amena

    15 Kasım 2006
  • Anthony Le

    Anthony Le

    10 EKİM 2006
  • Justin Case

    Justin Case

    3 EKİM 2011