c Anweisungen nur EIN mal durchführen

Gast #4941774
Hallo,

ich habe einen Quelltext, in dem bestimmte Anweisungen nur EIN mal 
ausgeführt werden sollen. Zur Zeit habe ich dies so gelöst:
1
MAIN()
2

3
{
4

5
Anweisung_1    // NUR 1 MAL
6

7
switch(1)
8

9
Anweisung_2
10
Anweisung_3
11
...
12

13
}

aber das ist wahrscheinlich nicht fachmännisch gelöst :-)

Gibt es da eine saubere Lösung ?

Gruß

Simon
Gast
Es gibt gute Bücher über C und über das Programmieren im allgmeinen.

Darin steht z.B. dass main() mit kleinen Buchstaben geschrieben werden 
muss.
Weiterhin findest du auch alles zu Variablen, und wie man sie setzen und 
abfragen kann.

Merke: erst lesen dann fragen.
Moderator Persönliche Seite
Es ist ganz normal, dass ein µC-Programm in C folgenden Aufbau hat:
1
void init (void)
2
{
3
    // Initialisierung von Variablen, Ports, Peripherie, etc.
4
}
5

6
int main ()
7
{
8
    init ();
9

10
    while (1)
11
    {
12
        // Hauptschleife
13
    }
14
}

Das ist dann soweit ganz überschaubar und auch der gängige Weg.

P.S.
Gewöhne Dir direkt an, die richtigen Schlüsselwörter zu nehmen, "MAIN" 
verwirrt nur.
Gast
Das ist doch der ganz normale Aufbau eines Mikrocontroller-Programmes. 
Das main() enthält zwei Blöcke. Die Initialisierung und die 
Endlosschleife.

Warum willst du es anders machen?
simon schrieb:

> aber das ist wahrscheinlich nicht fachmännisch gelöst :-)

Fachmännisch ist ein Programm nicht dann, wenn es andere als gut 
empfinden.
Sondern wenn...

... es den Syntaxregeln der Programmiersprache gerecht wird (hier C/C++)
... der Code sauber, aufgeräumt und übersichtlich aufgebaut ist und im 
Optimalfall einem Coding Standard folgt
... das Programm tut was es soll und das ohne Fehler
... das Programmablauf performant und resourcenschonend arbeitet

Unter Beachtung dieser Punkte lässt sich mit den vielen Mitteln, die 
eine Sprache wie C/C++ bietet, ein und das selbe Problem auf teilweise 
dutzend verschiedenen Arten lösen.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.