Wie komme ich zu diesen Pointerwert?
-
Hallo!
int x=2, y=3; int *p, *q; p = &x; q = &y;Wie komme ich zu den wert 6 wenn ich folgende Operation durchführe?
printf("%d", *p**q);mfg
-
*p ist 2 und *q ist 3
jetzt noch den taschenrechner rausholen und *p * *q ausrechnen.
-
OMG
das gilt als Multiplikationszeichen dachte es ist ein pointer auf einen pointer! Peinlich
!Mfg
-
na, *p zeigt auf x (==2), *q zeigt auf y (==3) und 2*3 ist 6

-
Ja jetzt is eh klar!
-
po!nt schrieb:
OMG
das gilt als Multiplikationszeichen dachte es ist ein pointer auf einen pointer! Peinlich
!Mfg
Deshalb ist es sinnvoll, bei solchen Geschichten lieber ein, zwei Klammern mehr zu verwenden, um die Lesbarkeit zu erhöhen und solche Missverständnisse gar nicht aufkommen zu lassen.

-
_matze schrieb:
Deshalb ist es sinnvoll, bei solchen Geschichten lieber ein, zwei Klammern mehr zu verwenden, um die Lesbarkeit zu erhöhen...
zwei leerzeichen mehr hätten auch gereicht.
