Speicherbelegung

Gast #536064
Lesenswert?

Hallo,
eine Frage was belegt mehr Speicherplatz:

if(second == 60)
{
  second = 0;
}


oder


if(second == 60)
  second = 0;


of sieht man ja das die { und die } weg gelassen werden, wenn die 
anweisung nur einen befehl enthält.
Kann man dadurch speicherplatz sparen, was ja grade bei uC's wichtig ist
Gast #536083
Lesenswert?

Der Speicherbedarf ist der Gleiche. Die Klammern dienen der Übersicht 
und sind bei Programsequenzen, die länger als eine Zeile sind, unbedingt 
erforderlich. Im Kompilierten Code ist davon nichts mehr zu sehen. Schau 
die die generierten Listfiles an. GCC hat, wie andere Compiler sicher 
auch, Optimierungsschalter die den Grad der Optimierung festlegen.
Grüsse
Lothar
#536117
Lesenswert?

Lothar wrote:
> Der Speicherbedarf ist der Gleiche. Die Klammern dienen der Übersicht
> und sind bei Programsequenzen, die länger als eine Zeile sind, unbedingt
> erforderlich.

Korrekt wäre: ...die länger als eine Anweisung sind.
Dem C-Compiler ist die Zeilenlänge ziemlich egal.

Sie dienen nicht der Übersicht, sondern gruppieren mehrere Anweisungen 
zu einem Code-Block.

Severino
#536140
Lesenswert?


@ Lothar

Ja, einen guten Abend, und auch Dir frohe Ostern.

Sorry, wenn ich auf Details bestehe, aber ich habe oft gesehen, wie
Begriffe verwechselt werden, es beginnt in C bei der Verwirrung um
Deklaration und Definition; manche Leute halten es für Synonyme. Andere
Leute sprechen von "if-Schleifen", was es nicht gibt.
Es ist besser, sich präzise auszudrücken.

Severino
Gast #536147
Lesenswert?

@Severino
Im Prinzip hast Du Recht, IT kennt präzise Definitionen. Wenn Du das 
einem, der ein Problemchen hat um die Ohren haust, versteht er das 
vielleicht nicht mal. Und eine If-Schleife oder If-Codesequenz, so groß 
ist der Unterschied für mich nicht. Wird in manchen C-Büchern als 
abweisende Schleife beschrieben. Trotzdem, netter Kontakt. Wenn so eine 
Frage kommt, versuche ich zu helfen, manchmal auch landwirtschaftlich. 
Ich denke, wir begegnen uns ;o))
Gast #536236
Lesenswert?

Hehe,
Guten morgen !

Vielen Dank für die vielen Antworten, damit sei mir bestens geholfen :)

Das die { } bei mehr als einer Anweisung erforderlich sind war mir 
geläufig!

Also noch einen frohen Ostermontag und vielen Dank,

bis bald !

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren