Wie übergebe ich ein literales Array als Eingabeargument der Funktion?

8

Das Ziel besteht darin, ein konstantes Array (das die Membervariablen des entsprechenden Strukturparameters darstellt) wie {{"network", "lan"}, {"dhcp", "true"}} als Parameter zu übergeben, wenn eine Funktion wie folgt aufgerufen wird:

%Vor%

Ich habe den folgenden Code versucht, aber es gibt Fehler in der Kompilierung zurück:

%Vor%

Wie kann ich das richtig machen?

    
imen bhiri 01.07.2015, 14:28
quelle

2 Antworten

9

Hier ist das komplette Programm, Sie können es ausprobieren.

%Vor%

Das Programm wird am GNU GCC v4.8.3 Online-Compiler getestet.

    
Shri 01.07.2015 14:46
quelle
7

Wenn Sie mit einem C99 und höher unterstützten Compiler ausgestattet sind, können Sie zusammengesetzte Literale um Ihre Arbeit zu erledigen.

Sie können den Funktionsaufruf wie

umschreiben %Vor%

und es wird funktionieren.

LIVE-DEMO

Übrigens, die empfohlene Signatur von main() ist int main(void) .

    
Sourav Ghosh 01.07.2015 14:37
quelle

Tags und Links