Ποια είναι η διαφορά μεταξύ int (* p) [3]; και int * p [3]. σε γλώσσα C;


Απάντηση 1:

int (* p) [3]

δείκτης "p", (μόνο "p").

για να υποδείξουμε όλες αυτές τις συστοιχίες ακεραίων που μπορούν να συγκρατήσουν τρεις ακέραιες τιμές.

int * p [3]

δείκτης "p [3]", (όχι μόνο * p όπως παραπάνω, αλλά * p [3]).

για να δείξετε σε 3 ακέραιους αριθμούς.

  • int (* p) [3] δημιουργεί έναν δείκτη "p" που δείχνει έναν πίνακα. (Εδώ ο πίνακας είναι μεγέθους 3) int * p [3] δημιουργεί έναν δείκτη "p [3]" που δείχνει σε ακέραιους αριθμούς. (Εδώ 3 ακέραιοι)

Απάντηση 2:

int (* p) [3] σημαίνει ότι το p είναι ένας δείκτης σε μια σειρά από 3 ακεραίους. Εδώ οι p δείχνουν σε μια συστοιχία που περιέχει 3 ακέραιες τιμές.

Αναπαράσταση μνήμης int (* p) [3]:

int * p [3] σημαίνει ότι το p είναι μια σειρά από ακέραιους δείκτες. Εδώ οι p δείχνουν σε μια σειρά που περιέχουν διευθύνσεις 3 ακέραιων τύπων πρωτόγονου τύπου.

Αναπαράσταση μνήμης int * p [3]: