Foros del Web » Programación para mayores de 30 ;) » C/C++ »

como puedo acceder a esta variable

Estas en el tema de como puedo acceder a esta variable en el foro de C/C++ en Foros del Web. Hola buenas, sabriais decirme como puedo acceder al valor de esta variable? *(int *)cfgE[i].varPtr=(int) atoi (search) Es un doble puntero o k es?? varPtr tambien ...
  #1 (permalink)  
Antiguo 14/05/2010, 03:44
 
Fecha de Ingreso: abril-2010
Mensajes: 23
Antigüedad: 8 años
Puntos: 0
como puedo acceder a esta variable

Hola buenas, sabriais decirme como puedo acceder al valor de esta variable?

*(int *)cfgE[i].varPtr=(int) atoi (search)

Es un doble puntero o k es??
varPtr tambien es puntero
  #2 (permalink)  
Antiguo 14/05/2010, 07:36
 
Fecha de Ingreso: junio-2008
Ubicación: Seattle, USA
Mensajes: 692
Antigüedad: 9 años, 10 meses
Puntos: 54
Respuesta: como puedo acceder a esta variable

Usa la misma expresion de la izquierda, o sea

int valor = *(int *)cfgE[i].varPtr;
  #3 (permalink)  
Antiguo 14/05/2010, 17:13
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 8 años
Puntos: 228
Respuesta: como puedo acceder a esta variable

no es un doble puntero. tanto cfgE y varPtr son punteros. Pero por la precedencia de los operadores no hace falta usar parentesis.

Esto es hace... cfgE es un puntero. Por la precedencia de "[ ]" se desreferencia cfgE a su posicion i. Luego le llega el turno al "."(Punto). Por lo tanto, de la "estructura" que dio cfgE[i] se toma el parametro "varPtr". A eso se lo castea a "puntero a entero" y se desreferencia.

Parece un lio barbaro, pero es cuestio de agarrar una tabla de precedencia y ver que se ejecuta primero.

Etiquetas: acceder, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:12.