Beiträge von daybyter im Thema „Zeiger zum String funktioniert nicht....“

    Wenn Du bei der 2. Version nach der 6 nichts mehr kopieren willst, musst Du den Zeiger eigentlich nicht mehr erhöhen. Andererseits sind Strings auf vielen Systemen nullterminiert, d.h. sie haben als letztes Zeichen eine Null, woran manche Funktionen das Ende der Zeichenkette erkennen. Schreibst Du Deine Zeichenkette einfach irgendwohin und lässt diese Kennung weg, kannst Du Probleme bekommen, wenn Du danach eine Funktion wie strcmp darauf loslässt.

    Dann hab ich inzwischen eine Antwort auf meine eigene Frage gefunden, ob man besser Pointer oder Indizes auf dem 64er nimmt. Indizes sind anscheinend besser.

    Punkt 12 hier:

    Bitte melde dich an, um diesen Link zu sehen.

    Ciao,
    Andreas

    PS: peiselulli: ich gebs zu, dass ich nie C auf 68000, Arm, Mips oder Alpha programmiert hab. Dort nur Hochsprachen. Andererseits würde ich das Alignment der Variablen im Zweifelsfall dem Compiler überlassen. Das machen viele Compiler auch auf x86 automatisch und ausreichend gut. Aber danke für den Hinweis! :)

    Noch eine kleine Zusatzfrage zu dem Thema: vor zu langer Zeit, um es hier zuzugeben :) gab es mal Diskussionen, ob man schneller mit Pointern oder mit Array-Indizes auf Array-Elemente zugreift. Hintergrund war wohl der, dass zu dieser Zeit schon erste CPUs verfügbar waren, die den Index in einem Register hielten, das Register inkrementierten und dann relativ zum Registerinhalt zugreifen konnten, Hat man mal probiert, was auf der 65xx Serie schneller ist?

    Vielen Dank im Voraus,
    Andreas

    Mit *p_satz= ... änderst Du ja nur den Wert an der Stelle p_satz, aber nichts danach. Dafür musst Du entweder eine Schleife nehmen, oder aber die String-Funktionen nutzen, wie etwa strcpy :

    Bitte melde dich an, um diesen Link zu sehen.

    C++ ist da wesentlich weiter, aber das geht wohl nicht auf den kleinen Kisten...

    Ciao,
    Andreas

    Edit: peiselulli war schneller...