Wenn es keinen Unterschied gibt, warum würden Sie nicht einfach die verwenden . Notation statt ->? -> sieht so chaotisch aus.
-> ist eine Abkürzung für (*x).fieldwo x ist ein Zeiger auf eine Variable vom Typ struct accountund field ist ein Feld in der Struktur, wie z account_number.
Wenn Sie einen Zeiger auf eine Struktur haben, dann sagen Sie
accountp->account_number;
ist viel prägnanter als
(*accountp).account_number;
Sie nutzen . wenn es um Variablen geht. Sie nutzen -> wenn es um Zeiger geht.
Zum Beispiel:
struct account {
int account_number;
};
Deklarieren Sie eine neue Variable vom Typ struct account:
struct account *a;
...
// initializing the variable
a = &some_account; // point the pointer to some_account
a->account_number = 1; // modifying the value of account_number
Verwenden a->account_number = 1; ist eine alternative Syntax für (*a).account_number = 1;
Ich hoffe das hilft.
Je nachdem, ob die linke Seite ein Objekt oder ein Zeiger ist, verwenden Sie die unterschiedliche Notation.