¿Cuál es la diferencia entre int * p e int p * e int * p?


Mejor respuesta

Bueno, no hay nada como:

int p*;

Es una declaración no válida. Obtendrá un error de compilación con este código.

Por otro lado int * p e int * p son básicamente lo mismo. No es más que una cuestión de estilo. En lo que respecta al compilador C / C ++, no importa si escribe int * p o int * p. Por lo tanto, si prefiere asociar el * con el tipo en lugar de la variable, no dude en hacerlo.

Pero un punto importante a tener en cuenta:

La siguiente declaración crea uno que no dos punteros enteros:

int* a,b;

Aquí b se declara como entero, donde como a es un puntero entero. Esta declaración:

int *a,*b;

declara ayb como punteros enteros.

Respuesta

Int p *: no se ha visto todavía Int * p: como aquí el * se adjunta ap, por lo que solo p será un puntero a un entero. Si declara otra variable después de p separada por punto y coma, no será un puntero. Es decir. int * p, q. Aquí p será un puntero a un entero pero q será una variable int normal y no un puntero.

El caso Int * p, q funciona de manera similar a Int * p, q. Ambas declaraciones declaran p como un puntero entero y q como un entero normal. Int * p, q es un tipo de declaración que termina confundiendo a los programadores.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *