Pointer auf?
-
Also soweit ich weiss zeigen nicht initialisierte Pointer irgentwo hin aber nicht automatisch auf NULL, was sie gefährlich macht und meistens zu Programmabbrüchen führt.
-
ein pointer ist ne adresse.
ein char[10] "zeigt" irgendwo in den speicher, wo 10 chars stehen.ein pointer zeigt also nicht auf NULL, er IST NULL.
ein pointer zeigt aber z.b. auf einen int, also IST er die adresse der stelle im speicher, wo der wert von diesem int steht.
-
Ok danke dir
(bzw euch)
Und mein "Programm" da oben? Ich blicks einfach net warum des nach 10 Eingaben abbricht
-
i!='\n' // falsch! was steht in i?
&&
i<=20 // falsch! i < 20, sonst bist du ueber der arraygrenze
-
Hm danke jetzt gehts er ziehts durch. Was mich verwirrt: \n = 13. Also da in dem Fall i = 10 ist wieso bricht es dann schon bei 10 ab und nicht erst bei 13?
-
i ist nur der Zähler der vergleich i!=\n ist unsinnig es muss c[i]!=\n heissen
-
Sagte ich schon
War vielleicht undeutlich. hab jetzt c[i] mein Fehler...
Aber wenn i = '\n' ist doch i als Integerwert 13 oder? wieso bricht es dann bei 10 ab?
-
Craw schrieb:
Aber wenn i = '\n' ist doch i als Integerwert 13 oder? wieso bricht es dann bei 10 ab?
\n ist 10, 13 ist \r
-
net schrieb:
Craw schrieb:
Aber wenn i = '\n' ist doch i als Integerwert 13 oder? wieso bricht es dann bei 10 ab?
\n ist 10, 13 ist \r
Achso ok. Ich hatte mir halt ein Prog geschrieben vom Sinn:
c = getch();
printf(%d" c);
Da hats halt bei Enter 13 angezeigt... warum denn das wieder -.-
Danke euchEDIT: Strg+Enter ist bei mir 10 ... naja egal^^
-
Craw schrieb:
Achso ok. Ich hatte mir halt ein Prog geschrieben vom Sinn:
c = getch();
printf(%d" c);
Da hats halt bei Enter 13 angezeigt... warum denn das wieder -.-
Danke euchUnter Windows löst die ENTER-Taste die Folge \r\n aus - die meisten C-Funktionen wissen das und ignorieren dann das \r.