¿Qué significa *p=a en lenguaje C?

Hablemos de * y; para entender, puedes pensar que * aquí es para obtener el contenido, es para obtener la dirección.

No discutiré sus diferencias, porque * p =; la forma A generalmente es incorrecta y la respuesta más utilizada es P =.

Compare *p=a y p; =; A. Mira la imagen. La imagen es muy detallada.

Evidentemente son equivalentes.

Luego compare * p = ; a y p = ; a;

Entonces ambas son asignaciones a variables de puntero, y hay dos formas de asignación.

① Primero define y luego asigna valor.

int a=3, * p; (definir variable de puntero *p)

p = ampa; (variable de puntero de dirección)

②Asignar valor al definir un variable.

int a=3, * p = ampa

Es decir, al asignar,

int * p = ampa

Competente

int *p,

p = ampAnswer?

La diferencia entre ellos es en realidad

int * p = ampA define *p y asigna P simultáneamente (es decir, la dirección de A se asigna a P), P = ;a , Asigne solo un valor a p y no defina una variable de puntero.

Sin embargo, cabe señalar que "*p =; "a" es la forma correcta de escribirlo.

No utilices *p =; "a" en otras situaciones. , porque esta forma es simplemente incorrecta, como se muestra a continuación. Siempre quise saber por qué * p = a no está mal. Más tarde, el maestro explicó que esta forma solo es cierta en la situación anterior y que es realmente incorrecta en. otras situaciones.