Bitte um eine erklerung !
-
Hi, bin ein neu in c/c++. Kann mir jemand der code erkleren so das ich es verstehe :-).
#include <iostream> using namespace std; void funk(char *matrix); //das mit *matrix verstehe ich nicht. int main () { char matrix[9]; for (int s=0;s<=8;s++) { matrix[s]= '#'; } funk(*matrix);//hier auch return 0; } void funk(char *matrix)//und hier { cout<<matrix;//und hier }Ich weis das alles sind Zeiger (pointer). Ich verstehe halt nicht wie es funktioniert !!!

-
OMG lies ein BUCH !
Kann sich hier kein Anfänger mehr selbst in ein Thema reinlesen?
-
Ich bin in Eile, versuch's aber mal auf die Schnelle.
Also erstmal: Praktisch dürfte es gar nicht kompilieren bzw. stellenweise macht es auch nicht das richtige. Ich geh einfach auf deine Kommentare ein
#include <iostream> using namespace std; /* Hier deklarierst du einen Funktionsprototyp, der nichts zurückgibt (void), "funk" heißt und als Parameter gerne einen Zeiger auf ein char hätte */ void funk(char *matrix); int main () { char matrix[9]; for (int s=0;s<=8;s++) { matrix[s]= '#'; } // Beispiel: Schleife nur bis 7 laufen lassen und anschließend folgende Zeile : // matrix[8] = '\0'; // Erklärung folgt weiter unten // funk(*matrix); // Hier versuchst du, die zugehörige Funktion aufzurufen funk(matrix); // Und so wäre es korrekt return 0; } /* Das hier ist die, nennen wir es mal Ausprägung der Funktion, dessen Prototyp wir oben definiert haben. */ void funk(char *matrix) { // Hier soll der Inhalt des Zeigers auf einen Textstring ausgegeben werden. // Problem: Der String muss Nullterminiert sein, dass letzte Zeichen muss // '\0' sein, sonst wird ggfs. noch zuviel Text (Speichermüll) ausgegeben // (Siehe Beispiel in main) cout<<matrix; }
-
Danke !
Aber es ist so ich bin nich faul bücher zu lesen ich verstehe halt die Thema Zeigen nich !!!
Bin einfache Stablerfahrer und hebe nur 11 klassen hinter mir.
Programmiren ist halt mein hobby und auser internet habe ich keine Quellen.
Verstehe ich richtieg:
matrix[9] wird an Zeiger *matrix übergeben, und es schein egal ob matrix[3] ist oder matrix[1000] der Zeiger *matrix wir die übernehmen oder ?
-
runix81 schrieb:
Aber es ist so ich bin nich faul bücher zu lesen ich verstehe halt die Thema Zeigen nich !!!
Ja, weil du keine Bücher liest. Nimm dir die Zeit, übers Internet alleine wirst du C++ nie richtig lernen.
Und schau dir mal das an, dann wird dein Post in Zukunft eher ernst genommen. Leider gibt es immer wieder Leute wie GanzFix, welche die ersten beiden Punkte relativieren.