Pointer und Arrays
-
Ich habe hier etwas probiert zum Thema Pointer
#include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { int *Zeiger, i = 1; float Zahl[6]={1, 2, 3, 4, 5, 6}; do{ *Zeiger = Zahl[i]; printf ("Zeiger hat den Wert %d", *Zeiger); i++; }while (i <=6); return 0; }
Irgendwie will es mal wieder nicht funktionieren...
1. Fehlermeldung: Run-Time Check Failure #3 - The variable 'Zeiger' is being used without being initialized. => [b]Hat sich erledigt[/b] 2. Fehlermeldung: Unbehandelte Ausnahme bei 0x00411463 in Pointer2.exe: 0xC0000005: Zugriffsverletzung beim Schreiben an Position 0xcccccccc.
mfg 08mmarte
-
Wenn du ein Array Zahl[6] erzeugst, dann geht das von Zahl[0] bis Zahl[5]. Du sorgst aber dafür, dass im letzten Schleifendurchlauf versucht wird, auf Zahl[6] zuzugreifen. Nebenbei passen da noch ein, zwei andere Dinge nicht und eine for-Schleife wäre hier passender:
for(int i=0;i<6;i++) { Zeiger=&Zahl[i]; printf("Zeiger zeigt auf den Wert %d", *Zeiger);
-
Funktioniert irgendwie nicht recht...
#include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { int *Zeiger = 0; char Zahl[6]={1, 2, 3, 4, 5, 6}; for(int i=0;i<6;i++) { Zeiger=&Zahl[i]; printf("Zeiger zeigt auf den Wert %d", *Zeiger); } return 0; }
error C2440: '=': 'char *__w64 ' kann nicht in 'int *' konvertiert werden
-
Wenn du ein char-Array hast, brauchst du auch einen char-Zeiger.
-
Danke jetzt funktioniert es...
Werde mich wahrscheinlich noch mehr mit den Pointern beschäftigen müssen
, sind zimlich kompliziert zum lernen..
aber naja, nochmals danke..
-
Alles nur Logik und irgendwann wird's einfach zur Gewohnheit und fällt auch nicht mehr schwer...
-
Mitlerweile kann ich es schon ein bisschen besser...