Hi
Beim Einlesen in Arrays und Pointer bin ich auf folgenden
Zusammenhang/Äquivalenz gestoßen:
1 | int Zahl[] = {1,2,3,4};
|
2 | int * ptr1 = NULL;
|
3 | int * ptr2 = NULL;
|
4 |
|
5 | ptr1 = Zahl;
|
6 | ptr2 = &Zahl[0];
|
7 |
|
8 | // Do something
|
9 |
|
10 | ptr1 = Zahl+1;
|
11 | ptr2 = &Zahl[1];
|
Meine Frage ist, welcher Schreibstil im Zusammenhang zwischen Zeiger und
Arrays schöner ist?
ptr1 kann ggf. missverstanden werden, wenn man (in einem längeren Code)
nicht direkt weiß, dass ptr1 ein Zeiger ist. Man könnte also einen
Integer erwarten.
Bei ptr2 kann man das direkt aus der Zeile ablesen, dass es sich um
einen Pointer handelt. Ergo würde ich eher zu Variante 2 tendieren.
Mein C Buch (Prata, C Primer Plus) sagt, dass beide Varianten Äquivalent
seien - OK. Aber welche Variante ist vom Stil her sauberer? Wie handhabt
ihr das?
Danke und Gruß,