Was bedeutet void main(void) (Programmierung, C)?

4 Antworten

Das ist der Einprungpunkt in Dein Programm.

Das "linke" Void ist der Rückgabedatentyp und bedeutet: "Funktion gibt nichts zurück".

Das "rechte" Void bedeutet, dass die Funktion keine Parameter erwartet.

Die "übliche" Signatur für die Main-Funktion in C ist übrigens folgende.

int main(int argc, char** argv)
{
...
return 0;
}

Oder im Fehlerfall eventuell einen anderen Rückgabewert.

Zu deiner speziellen Programmfrage:

Port_DataDirBit(LED1, PORT_OUT);while(1)  {
 Port_WriteBit(LED1, PORT_ON);
 AbsDelay(1000);
 Port_WriteBit(LED1 , PORT_OFF);
 AbsDelay(1000);
}

(das ist nur eine Vermutung, ohne mich näher damit auseinanderzusetzen, kann ich für nichts garantieren)

Ein Pin des Ports wird als Ausgang deklariert.
Es folgt eine Endlosschleife, die im Abstand von 1000 Millisekunden den Port ein- und ausschaltet.

Du solltest mal endlich anfangen dabei zu schreiben was Du da hast. Du programmierst Mikrocontroller, da gibt es viele Besonderheiten die mit dem eigentlichen C nichts zu tun haben sondern anwendungsbezogen sind.

Das ist der Hauptprozess deines Programms (darum main). Die voids stehen da, weil es keinen Parameter bekommt und auch nix zurückgibt.

AhsokaT 
Fragesteller
 25.06.2015, 00:06

Vielen Dank :)

Kannst du mir vielleicht auch noch ein paar andere Befehle erklären?

  1. Port_DataDirBit(LED1, PORT_OUT);
  2. while(1)
  3. {
  4. Port_WriteBit(LED1, PORT_ON);
  5. AbsDelay(1000);
  6. Port_WriteBit(LED1 , PORT_OFF);
  7. AbsDelay(1000);
  8. }

Vielen Dank:)

1
Youkakun  25.06.2015, 00:55
@AhsokaT

Deine Frage kann man ohne Eigenrecherche kaum beantworten, betreibe doch erstmal selber eine Suche statt andere für einfachste Dinge zu bemühen.

1
NoHumanBeing  02.07.2015, 21:42

Ein "Prozess" ist es nicht. Es ist der Einsprungpunkt in das Programm.

0