none
"SuchFunktion" + Fehlermeldung + ?Zeiger? RRS feed

  • Frage

  • Guten Morgen leute :)

    Ich bin mal wieder am Programmieren...Na ja zumindestens versuche ich es:(

    Ich bin schon mit dem nerven am ende weil ich mitleriweile glaube das ich schlichthin zu blöd bin um zu Programmieren. Aber da ich es lernen will und auch für meine zukünftige berufliche Laufbahn können muss, muss ich due Dummheit durchbrechen.

    Ich habe Probleme mit Zeigern. Ich verstehe die nicht so richtig. Na ja zumindestens teilweise. Ich weiß zumindestens wie ich den Inhalt, die Adresse und die Zieladresse per printf ausgeben kann. Aber was mache ich eigentlich wenn ich eine Variable z.B. Var so markiere: *Var. Habe ich sie dan als Zeiger markiert und der Compiler benutzt dan die Adresse?

    Und natürlich hänge ich auch mal wieder bei einer Aufgabe fest-.- dieses mal aber extrem. Mein Qulltext ist müll. Der enthält noch nicht einmal die richtige Funktion. Aber ich arbeite grade an einen neuen. Ich wollte aber die Frage schon ma posten.

    Aber zuerst einmal die Aufgabe:

    Benutze folgende Funktion: int First(char* Text, char ToFind, int Start, int Lenght)

    Die funktion Liefert den Index des ersten Vorkommens von ToFind im angegebenen Text , Ausgehend vom Start Index bis hin zu StartIndex + Length. Wenn nichts gefunden wurde lifert die Funktion -1.

    Z.B. "Otto" , 't', 0, 4 -> 1
    Z.B. "Otto" , 't', 2, 2 -> 2
    Z.B. "Otto" , 'o', 1, 3 -> 4
    Z.B. "Otto" , 'o', 1, 2 -> -1

    Wäre nett wen ihr mir etwas helfen würdet :) Schließlich will ich einmal ein guter Programmier werden! :)

    mfg. Paul

    Donnerstag, 18. Oktober 2012 07:57

Antworten

  • Und was ist jetzt die Frage?

    Hier was allgemeines zu Zeignern:

    Wenn Du eine variable z.B. so deklarierst:

    char* ZeichenZeiger; 

    dann hast Du eine Variable vom Typ "Zeiger auf char". Das siehst Du am Stern.

    Wenn Du z.B. sowas hier machst:

    const char* Zeichenkette="Das ist ein Text"; 
    char* ZeichenZeiger; 

    und Du möchtest jetzt den ZeichenZeiger auf das 5, Zeiche in der Zeichenkette packen (wäre das i von ist) würde dann könntest Du das z.B. so machen:

    ZeichenZeiger=&Zeichenkette[4]; // Adresse des 5. Elements, wir zählen von 0 an, daher 4! 

    Wenn Du jetzt den Inhalt auswerten möchtest von Zeichenzeiger, wäre das so:

    const char* Zeichenkette="Das ist ein Text"; 
    char* ZeichenZeiger; 
    char Zeichen; 
    ZeichenZeiger=&Zeichenkette[4]; 
    Zeichen=*ZeichenZeiger; // liefert das Zeichen zurück 
    Zeichen=Zeichenzeiger; // Liefert die Adresse zurück wo das 5. Zeichen im speicher liegt, in diesem Fall wäre das ein Fall für einen Fehler! 

    • Als Antwort markiert icekeuter Donnerstag, 18. Oktober 2012 12:00
    Donnerstag, 18. Oktober 2012 08:27