Qual è la differenza tra int * pe int p * e int * p?


Migliore risposta

Bene, non cè niente come:

int p*;

È unistruzione non valida. Riceverai un errore di compilazione con questo codice.

Daltra parte int * p e int * p sono fondamentalmente gli stessi. Non è altro che una questione di stile. Per quanto riguarda il compilatore C / C ++, non importa se scrivi int * p o int * p. Quindi, se preferisci associare * al tipo piuttosto che alla variabile, sentiti libero di farlo.

Ma un punto importante da notare:

La seguente dichiarazione ne crea uno non due puntatori interi:

int* a,b;

Qui b è dichiarato come intero, dove come a è un puntatore intero. Questa istruzione:

int *a,*b;

dichiara sia a che b come puntatori interi.

Risposta

Int p *: non è stato ancora visto Int * p: poiché qui * è allegato a p, quindi solo p sarà un Puntatore a un numero intero. Se dichiari unaltra variabile dopo p separata da punto e virgola, non sarà “t un puntatore. Cioè int * p, q. Qui p sarà un puntatore a numero intero ma q sarà una normale variabile int e non un puntatore.

Il caso Int * p, q funziona in modo simile a Int * p, q. Entrambe le dichiarazioni dichiarano p come un puntatore intero e q come un normale intero. Int * p, q è un tipo di dichiarazione che finisce per confondere i programmatori.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *