C/Visual C - operador ->

 
Vista:

operador ->

Publicado por Sira (3 intervenciones) el 05/04/2007 12:05:38
Hola a tod@s! He estado buscando en internet, pero no lo he encontrado...

tengo un trozo de código así:

---------------------------------------------
#define RUN 0
struct tipusE * p1

(...)

p1->Estado= RUN;
------------------------------------------------

Cabe comentar que dentro de tipusE,hay un campo que se llama Estado
¿qué significa el operador -> en C? ¿Se supone que sería como un
p1.Estado= 0???
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:operador ->

Publicado por javier (1 intervención) el 05/04/2007 18:12:15
Hasta donde yo tengo entendido el operador punto y el flecha funcionan igual, solo que el operador flecha sirve para accesar a las variables/funciones miembro de un puntero a una clase/estructura, por ejemplo en este caso se utiliza ya que p1 es un puntero. Si no fuese un puntero se utilizaria el operador punto. Si me equivoco que es muy probable, por favor corrijanme.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:operador ->

Publicado por Nacho (6 intervenciones) el 05/04/2007 22:24:31
Es correcto

ficha.dato = 5;

es lo que se usa cuando la variable "ficha" es un struct estático (struct XXX ficha), mientras que

ficha->dato = 5;

es lo que se usa cuando "ficha" es un struct dinámico, definido como struct XXXX * ficha, y para el que se ha reservado espacio con "malloc" o alguna orden similar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar