Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   C/C++ (http://www.forosdelweb.com/f96/)
-   -   2 preguntas (http://www.forosdelweb.com/f96/2-preguntas-463864/)

N0vat0 09/02/2007 19:01

2 preguntas
 
1. Cuando tu abres en fichero para entrada y salida ("r+"), despues de leer del fichero, por ej, haciendo un "fscanf(FILE *f....) ", tienes que utilizar la funcion fflush, antes de escribir en el mismo fichero, por ej, haciendo un "fprintf(FILE *f...) ???

2.
Siendo T1,T2 y T3 estructuras, y una siendo reg3 una variable de tipo T3,reg 2 una variable de tipo T2 dentro de T3, y T1 un puntero a la estructura T1 que esta dentro de T2, y siendo pa un puntero a su vez,

porque esta sentencia es incorrecta "reg3.reg2.reg1-->(*pa)" y esta otra no
" *(reg3.reg2.reg1-->pa)" ??
Yo lo entiendo al reves, porque,a partir del 3, se accede al 2, que contiene el puntero (*reg1) a la estructura T1, y dentro de esa estructura, pues el puntero "reg1" quiere apuntar a "pa", pero, como a su vez es un puntero, desreferencia "pa" (*pa) , "...reg1-->(*pa)". Por que esta mal? Estaría bien, "reg1-->pa". Entonces no se podria desrreferenciar, o si??
La segunda forma, esta bien, pero por que? Que clase de sentencia es esa, un conversión de tipo puntero, o que??

SAludos.

Code 23/03/2007 04:37

Re: 2 preguntas
 
Digamos que el * simplemente referencia a los datos a los que apunta un puntero. En tu caso, al puntero se accede con toda esa ruta: reg3.reg2.reg1->pa. Esa es la ruta, ahora, si quieres acceder a los datos a los que apunta ese puntero, pones * simplemente. Pero a todo, porque necesitas toda la ruta para saber la dirección de memoria a la que apunta pa. Espero que sea de ayuda.


La zona horaria es GMT -6. Ahora son las 21:32.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.