![]() |
-- in C & Pointer
Hallo,
Ich schreib grad mein erstes großes C Programm (XML Pharser ;-) ) Dabei habe ich folgendes int *Pfad_Tag_Nr; so jetzt weiß ich einenen Wert zu und dann kommt die Zeile *(Pfad_Tag_Nr)--; Ich will den Wert auf den der Pointer zeigt um eins erniedrigen, leider kommt da ein Pfusch raus. (Glaub die Adresse wird um eins erniedrigt) Mit *(Pfad_Tag_Nr)=*(Pfad_Tag_Nr)-1; gehts. Meine Frage is jetzt: Wenn *(Pfad_Tag_Nr)--; nicht das gleiche wie *(Pfad_Tag_Nr)=*(Pfad_Tag_Nr)-1; ist, was ist dann *(Pfad_Tag_Nr)--; ausgeschrieben??? Verwende Visual Studie 2005 |
Re: -- in C & Pointer
Es geht um Operatorenprioritäten. -- hat eine höhere Priorität als der Dereferenzierungs-Operator (*), die Binäre Subtraktion - wird allerdings erst nach dem * ausgewertet.
Sprich hier wie der Parser deine Ausdrücke interpretiert:
Code:
*(p)--
wird zu *(p--) *p = *p - 1 hingegen zu (*p) = ((*p) - 1) ![]() greetz Mike |
Re: -- in C & Pointer
Also wäre das was ich will
Delphi-Quellcode:
(*(Pfad_Tag_Nr))--
|
Re: -- in C & Pointer
Zitat:
Falls der Term alleinstehend ist, kannst du die Klammern auch sparen, und das ganze so lösen:
Code:
Wobei man dann pro gespartem Zeichen 2 extra Kommentare berechnen darf :lol:
--*Pfad_Tag_nr;
greetz Mike |
Re: -- in C & Pointer
Dieser Thread ist ein Paradebeispiel dafür, wie gut C und C++ wirklich ist.
Zitat:
Frage: Wieso schreibst Du 2008 dein erstes C-Programm? Wieso nicht C#? Das ist eine schöne Sprache. Fast so hübsch wie Delphi. |
Re: -- in C & Pointer
Zitat:
Und diese Sprache hatte nicht ohne Grund so viel Erfolg. Auch heute noch wird es bei der maschinennahen Entwicklung genutzt. |
Re: -- in C & Pointer
Zitat:
Nee, is schon klar, war nur etwas Polemik und OT von mir. Genug jetzt. :zwinker: |
Re: -- in C & Pointer
Zitat:
|
Re: -- in C & Pointer
Zitat:
Wie Du schon sagtest: In den richtigen Händen ist C eine total geil kompakte und auch sichere Sache. Leider gibt es nicht so viele 'richtige Hände'.... Das gilt aber auch für (fast) jede andere Sprache. Was ich hier blöd finde, ist die Mehrdeutigkeit (im Verständnis) eines Ausdruckes wie *p--. Ich meine, das ist die kürzeste Klausurfrage in der IT: Zitat:
|
Re: -- in C & Pointer
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz