¿Qué significa *p=a en lenguaje C?
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.