Frage zur C-Code


  • Mod

    BitFiddler schrieb:

    Schau mal unauffällig auf die Variable "pc" in der Funktion, was das ist und was damit gemacht wird. 😉

    Und schau du mal ganz auffällig auf die Variable Feld in der main und die Variable adr in der Funktion, was das ist und was damit gemacht wird.

    Wen interessiert der Datentyp von irgendeinem Zwischenergebnis, wenn es um die Funktionalität von Code geht? Mit dem gleichen Argument könntest du behaupten, es ginge um ints, weil ioff ein int ist. Merkst du, was für einen Blödsinn du laberst?

    Schau dir mal Funktionen an, die auf char-Feldern arbeiten, z.B. alles aus string.h. Keine einzige davon nimmt void* entgegen, sondern alle nehmen char*. warum? Weil sie nur auf char* funktionieren können!

    Schau dir hingegen allgemeine Funktionen für alle Datentypen an, z.B. qsort, realloc, memset, etc. Keine einzige davon nimmt char* entgegen. Warum? Weil sie eben auf allem funktionieren, nicht nur auf chars! Und trotzdem, wenn du die mal nachprogrammierst, wird bei vielen davon in deren Implemntierung ein char* auftauchen. Ein minderes technisches Details, völlig unerheblich für die Funktionalität.

    Ich werde deinen weiteren Schmarrn nicht mehr mit einer Antwort würdigen.



  • SeppJ schrieb:

    Wen interessiert der Datentyp von irgendeinem Zwischenergebnis, wenn es um die Funktionalität von Code geht?

    In dem Fall ist der char-Datentyp ziemlich entscheidend für die Funktion. Sie sieht den Pointer als die Basisadresse einer Folge von 8-Bit Speicherzellen, die bitweise manipuliert werden können. Ich will dem Programmierer mal unterstellen, dass er weiß, wie seine Hardware organisiert ist. Auch wenn er nicht weiß, dass char nicht zwingend 8 Bit breit ist.

    SeppJ schrieb:

    Schau dir hingegen allgemeine Funktionen für alle Datentypen an, z.B. qsort, realloc, memset, etc. Keine einzige davon nimmt char* entgegen. Warum? Weil sie eben auf allem funktionieren, nicht nur auf chars!

    Leider hasst du vergessen zu erwähnen, was diese spezielle Funktion mit allgemeinen Funktionen zu tun hat. Aber egal.

    SeppJ schrieb:

    Ich werde deinen weiteren Schmarrn nicht mehr mit einer Antwort würdigen.

    Eine weise Entscheidung. Du würdest dich nur noch weiter verzetteln.


Anmelden zum Antworten