Heim > Backend-Entwicklung > C++ > C vs. C: Was ist der Unterschied zwischen „void foo()' und „void foo(void)'?

C vs. C: Was ist der Unterschied zwischen „void foo()' und „void foo(void)'?

DDD
Freigeben: 2024-12-17 02:37:25
Original
113 Leute haben es durchsucht

C vs. C  : What's the Difference Between `void foo()` and `void foo(void)`?

Funktionsprototypen in C und C: void foo() vs. void foo(void)

In C die Syntax einer Funktion Der Prototyp enthält ein Schlüsselwort void, gefolgt vom Funktionsnamen und Klammern. Zwei gängige Varianten sind:

  • void foo()
  • void foo(void)

Die Verwendung von void foo(void) in C impliziert dies Die Funktion akzeptiert keine Argumente, während void foo() eine nicht spezifizierte Anzahl von Argumenten nicht spezifizierter Typen bedeutet.

In C , Allerdings geben sowohl void foo() als auch void foo(void) eine Funktion ohne Argumente an. Diese Unterscheidung entstand aus historischen Gründen und wurde vorgenommen, um C an andere Sprachen wie Java anzupassen.

Während beide Formen in C technisch gültig sind, besteht die Konvention darin, void foo() ohne das redundante void-Argument für zu verwenden Klarheit. Das Schreiben von void foo(void) wird nicht als Fehler betrachtet, liefert jedoch keine zusätzlichen Informationen und kann für einige Leser verwirrend sein.

Darüber hinaus kann die Angabe von void vor dem Funktionsnamen in C die sprachübergreifende Kompatibilität unterstützen, wenn Schnittstelle mit C-Code. Durch die Verwendung von void foo(void) können Entwickler eine konsistente Interpretation der Funktionssignatur in beiden Sprachen sicherstellen und so die Codewartung und Portabilität erleichtern.

Das obige ist der detaillierte Inhalt vonC vs. C: Was ist der Unterschied zwischen „void foo()' und „void foo(void)'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage