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.