Multi-Pointer-Array?
-
Sputnik schrieb:
Also wiso muss ich dort speziell überwachen wenn ich im Union einen Zeiger mache? Das tue ich ja sonst auch nicht. Wäre nett, wenn man mir das erklären könnte.
In Zeigern steht nichts anderes als eine Speicheradresse. Was konkret in dieser Speicherzelle steht ist wiederum etwas anderes. Falls das, was ursprünglich in dieser Speicherzelle stand, ungültig wird (näheres dazu unten) ist der Inhalt undefiniert. Es kann zufälligerweise noch der alte Wert drinne stehen, muss aber nicht.
Der Gültigkeitsbereich (Scope) von Variablen ist dir hoffentlich bekannt. Ich hoffe ich mache hier keine Fehler, da ich aus dem C++, nicht dem C-Umfeld komme:
int main() { int* pa = 0; { int a = 4; pa = &a; } // a verlässt seinen Gültigkeitsbereich // <-- pa zeigt auf ungültigen Bereich return 0; }
Wenn du wiederum den Speicher über dynamische Speicherverwaltung (malloc...) allozierst, dann bleibt der Wert gültig, muss aber später auch wieder freigegeben werden.
cu André
-
Mir ist schon klar, dass es solche Scopes gibt. Vorallem das angeführte Beispiel mit der Funktion ist für mich sonnenklar, aber trotzdem danke für die Erklärung.
Was mich momentan mehr interessiert ist, ob es klappt, wenn ich nacher ein Pointer auf das Element der Union anlege. Ich persönlich sehe keinen Grund, weshalb nicht, da ich ja auch auf ein Element eines Struct problemslos ein Pointer anlegen kann, oder täusche ich mich da? Ich wäre sehr dankbar, wenn jemand mit wirklich Ahnung zu meinem letzten Beispiel-Code stellung nehmen könnte.
mfg
Sputnik
-
Sputnik schrieb:
Ich wäre sehr dankbar, wenn jemand ... zu meinem letzten Beispiel-Code stellung nehmen könnte.
das geht so. du kannst pointer auf union-elemente zeigen lassen. alles kein problem.
-
Hätte mich auch arg gewundert, wenn das anders gewesen wäre. Aber ich musste mich schon ein paar mal in meiner noch jungen "Prigrammiererkarriere" wundern...
Ich möchte noch einmal allen für ihre Hilfe danken, vorallem CStoll, der mir eine grosse Hilfe war auf dem Weg zu meiner Lösung des Problems. Ich denke, mein Problem hat sich jetzt gelöst, ich werde es jetzt so implemetieren können.
mit freundlichen Grüssen
Sputnik
-
Undertaker schrieb:
...
Stimmt es, dass du dich früher mal mis2com genannt hast?
-
@pale dog? schrieb:
Undertaker schrieb:
...
Stimmt es, dass du dich früher mal mis2com genannt hast?
nein, wieso? hat der besonders viel dummes zeug geschrieben?
-
Stimmt nicht, ich habe mich nie so genannt und war in diesem Forum vorher nie registriert. Auch in keinem anderen Forum habe ich diesen Namen je benutzt. In den meisten von mir besuchten Forums ist mein Alias Sputnik (wenn er nicht schon vergeben war).
Aber wiso interessiert das? Bin ich euch so auf die Nerven gefallen oder was hat den mis2com verbrochen?
mfg
Sputnik
-
Sputnik schrieb:
Stimmt nicht, ich habe mich nie so genannt und war in diesem Forum vorher nie registriert. Auch in keinem anderen Forum habe ich diesen Namen je benutzt. In den meisten von mir besuchten Forums ist mein Alias Sputnik (wenn er nicht schon vergeben war).
Aber wiso interessiert das? Bin ich euch so auf die Nerven gefallen oder was hat den mis2com verbrochen?
mfg
Sputnik
Das war doch garnicht auf dich bezogen.
-
Stimmt, das sehe ich jetzt auch (habe nochmals nachgeschaut).
Hatte schon befürchtet, ich bin euch zu sehr auf den Keks gegangen.
mfg Sputnik
-
Sputnik schrieb:
Hatte schon befürchtet, ich bin euch zu sehr auf den Keks gegangen.
Das geht hier nicht so schnell. Als C-Frickler hat man die Schmerzbefreiung implizit
-
C kann schon eine ganz schöne Frickelei sein, aber ich persönlich liebe die Macht die man mit C hat und was für wunderschön schnelle Programme man schreiben kann. Nach ASM einfach das geilste
(wenn ich mich mal so audrücken darf)
mfg
Sputnik