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

  • discokatze

    discokatze

    23 EYLÜL 2009
  • John Lynn

    John Lynn

    8 Ocak 2010
  • NYLON Video

    NYLON Video

    11 Aralık 2006