Zeiger und Struktur

Schnelle objektorientierte, kompilierende Programmiersprache.
Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Zeiger und Struktur

Beitrag von Xin » Mi Feb 05, 2014 8:48 am

cloidnerux hat geschrieben:Es gibt Leute die ihre variablen mit werten wie 0xDEAD oder 0xDEADBEEF initialisieren, damit es beim debuggen auffällt, wenn variablen nicht richtig mit werten gefüttert werden.
0x0BADC0DE
:-)
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Onraku
Beiträge: 43
Registriert: Fr Sep 09, 2011 2:14 pm

Re: Zeiger und Struktur

Beitrag von Onraku » Mi Feb 05, 2014 11:04 pm

Es gibt Leute die ihre variablen mit werten wie 0xDEAD oder 0xDEADBEEF initialisieren, damit es beim debuggen auffällt, wenn variablen nicht richtig mit werten gefüttert werden.
0x0BADC0DE
Ich dachte sowas gehört in die "verstaubte" Zeit der Assemblerprogrammierung, als man zum Debuggen noch einen Hexeditor brauchte.

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3125
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Zeiger und Struktur

Beitrag von cloidnerux » Mi Feb 05, 2014 11:18 pm

Ich dachte sowas gehört in die "verstaubte" Zeit der Assemblerprogrammierung, als man zum Debuggen noch einen Hexeditor brauchte.
Ja nu, es kommt häufig genug vor, dass du ne Variable anschaust im Debugger oder Konsole oder wo auch immer und du dich fragen musst, ob das ein sinnvoller Wert ist oder nicht.
Erst letzte Woche hat mich sowas viel Debugging Zeit erspart, weil ich direkt gesehen habe, das mein µC den Befehl nicht erkannt hat, anstatt wild Daten zu senden(Rohdaten von nem ADC sehen immer nach allem aus)
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
oenone
Beiträge: 223
Registriert: Do Sep 01, 2011 2:42 pm
Wohnort: Bremen
Kontaktdaten:

Re: Zeiger und Struktur

Beitrag von oenone » Do Feb 06, 2014 12:50 pm

Xin hat geschrieben:
Nemo hat geschrieben:Das Programm stürzt ab, weil printf mit dem Nullzeiger nichts anfangen kann.
Hsmpf... ungenau. (jaja, ich weiß ich bin ein Korinthenkacker ;-))
Nicht wirklich ungenau, sondern viel eher falsch. Der Fehler passiert nämlich schon bevor printf aufgerufen wird. Nämlich dann, wenn der Parameter für die Übergabe evaluiert wird, also wenn auf das erste Struct-Element an der Adresse 0 zugegriffen wird.

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Zeiger und Struktur

Beitrag von Xin » Do Feb 06, 2014 1:10 pm

oenone hat geschrieben:
Xin hat geschrieben:
Nemo hat geschrieben:Das Programm stürzt ab, weil printf mit dem Nullzeiger nichts anfangen kann.
Hsmpf... ungenau. (jaja, ich weiß ich bin ein Korinthenkacker ;-))
Nicht wirklich ungenau, sondern viel eher falsch. Der Fehler passiert nämlich schon bevor printf aufgerufen wird. Nämlich dann, wenn der Parameter für die Übergabe evaluiert wird, also wenn auf das erste Struct-Element an der Adresse 0 zugegriffen wird.
Richtig (dass es eigentlich falsch ist). Wobei ich jetzt nicht so kleine Korinthen abwerfen wollte, um auch den Aufruf der Funktion von der Evaluierung der Parameter für den Aufruf zu trennen, die wie Du richtig sagst vor dem Aufruf von printf() stattfindet.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Antworten