Was ist der Unterschied zwischen int * myptr ++ und int * (myptr ++) in C?


Antwort 1:

Originalfrage: Was ist der Unterschied zwischen int * myptr ++ und int * (myptr ++) in C?

Die Operation macht keinen Sinn, da Sie einen int-Zeiger deklarieren und versuchen, ihn zu erhöhen, ohne dass er auf etwas zeigt.

Ich nehme an, Sie sprechen tatsächlich von * myptr ++ vs * (myptr ++).

Ich bin mir ziemlich sicher, dass die Antwort nichts ist. Beide geben den Wert des Zeigers zurück und erhöhen ihn dann. Es basiert auf der Operatorrangfolge (C Operatorrangfolge). Wenn ich den Code lesen würde, würde ich den zweiten sehr bevorzugen. Es ist klarer, was die Operation ist. Es kann Ihnen auch helfen, einen Fehler zu finden, bei dem Sie tatsächlich erhöhen wollten, auf was der Zeiger zeigt, d. H. (* Myptr) ++.