Muchísimas gracias a los 2 por todo, Limpiaron completamente las dudas!<br><br>Cuando vuelva de la facultad pruebo todo esto, lo cual me quedó mas que claro. Gracias por todas las aclaraciones adicionales también y ejemplos a ambos!
<br><br>Hasta pronto. Saludos y suerte!<br><br><div><span class="gmail_quote">El día 18/09/07, <b class="gmail_sendername">ZeLion</b> <<a href="mailto:Zelion_cracking@yahoo.es">Zelion_cracking@yahoo.es</a>> escribió:
</span><blockquote class="gmail_quote" style="margin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0; margin-left: 0.80ex; border-left-color: #cccccc; border-left-width: 1px; border-left-style: solid; padding-left: 1ex">
<div lang="ES" link="#808040" vlink="#800080"><div><p><font size="2" color="#000080" face="Arial"><span style="font-size: 10pt; font-family: "Arial [monotype]"; color: #000080">Hola </span></font><font size="2" face="Tahoma">
<span style="font-size: 10pt; font-family: "Arial [monotype]"">D1e6o.</span></font></p><p><font size="2" face="Tahoma"><span style="font-size: 10pt; font-family: "Arial [monotype]""> </span></font></p>
<p><font size="2" face="Tahoma"><span style="font-size: 10pt; font-family: "Arial [monotype]"">Una de las formas para hacerlo:</span></font></p><p><font size="2" face="Tahoma"><span style="font-size: 10pt; font-family: "Arial [monotype]"">
Si no sabes que tipo de estructura vas a guardar en el puntero, puedes declarar un puntero void.</span></font></p><p><font size="2" face="Tahoma"><span style="font-size: 10pt; font-family: "Arial [monotype]"">Al fin y al cabo un puntero es un int que apunta a una direccion de memoria, el problema es que no sabes la estructura interna de un puntero para poder modificarlo, con lo que se debera hacer una conversión temporal para modificar sus datos.
</span></font></p><p><font size="2" face="Tahoma"><span style="font-size: 10pt; font-family: "Arial [monotype]""> </span></font></p><p><font size="2" face="Tahoma"><span style="font-size: 10pt; font-family: "Arial [monotype]"">
Veamos un ejemplo:</span></font></p><p><font size="2" face="Tahoma"><span style="font-size: 10pt; font-family: "Arial [monotype]""> </span></font></p><p><font size="2" color="#0000ff" face="Courier New"><span style="font-size: 10pt; color: #0000ff">
#include</span></font><font size="2" face="Courier New"><span style="font-size: 10pt"> <font color="#a31515"><span style="color: #a31515"><stdio.h></span></font></span></font></p><p><font size="2" color="#0000ff" face="Courier New">
<span lang="EN-GB" style="font-size: 10pt; color: #0000ff">#include</span></font><font size="2" face="Courier New"><span lang="EN-GB" style="font-size: 10pt"> <font color="#a31515"><span style="color: #a31515"><stdlib.h
></span></font></span></font></p><span class="q"><p><font size="2" color="#a31515" face="Courier New"><span lang="EN-GB" style="font-size: 10pt; color: #a31515"> </span></font></p><p><font size="2" color="#0000ff" face="Courier New">
<span lang="EN-GB" style="font-size: 10pt; color: #0000ff">typedef</span></font><font size="2" face="Courier New"><span lang="EN-GB" style="font-size: 10pt"> <font color="#0000ff"><span style="color: #0000ff">struct</span>
</font> <font color="#010001"><span style="color: #010001">enteros</span></font>{<font color="#0000ff"><span style="color: #0000ff">int</span></font> <font color="#010001"><span style="color: #010001">num1</span></font>,<font color="#010001">
<span style="color: #010001">num2</span></font>;} <font color="#010001"><span style="color: #010001">tipoent</span></font>; </span></font></p></span><p><font size="2" color="#0000ff" face="Courier New"><span style="font-size: 10pt; color: #0000ff">
typedef</span></font><font size="2" face="Courier New"><span style="font-size: 10pt"> <font color="#0000ff"><span style="color: #0000ff">struct</span></font> <font color="#010001"><span style="color: #010001">objeto</span>
</font> {<font color="#0000ff"><span style="color: #0000ff">char</span></font> <font color="#010001"><span style="color: #010001">tipo</span></font>; <font color="#010001"><span style="color: #010001">enteros</span></font>
 *<font color="#010001"><span style="color: #010001">obj1</span></font>;} <font color="#010001"><span style="color: #010001">tipoobj</span></font>; </span></font></p><p><font size="2" face="Courier New"><span style="font-size: 10pt">
 </span></font></p><p><font size="2" color="#0000ff" face="Courier New"><span style="font-size: 10pt; color: #0000ff">int</span></font><font size="2" face="Courier New"><span style="font-size: 10pt"> <font color="#010001">
<span style="color: #010001">main</span></font>() </span></font></p><p><font size="2" face="Courier New"><span style="font-size: 10pt">{</span></font></p><p><font size="2" face="Courier New"><span style="font-size: 10pt">
      <font color="#0000ff"><span style="color: #0000ff">void</span></font> *<font color="#010001"><span style="color: #010001">uno</span></font>;                    // Declaracion de un puntero 'uno' sin tipo definido</span>
</font></p><p><font size="2" face="Courier New"><span style="font-size: 10pt">      <font color="#010001"><span style="color: #010001">tipoent</span></font> *<font color="#010001"><span style="color: #010001">dos</span></font>
;                // Declarar un puntero 'dos' de tipo 'tipoent'</span></font></p><p><font size="2" face="Courier New"><span style="font-size: 10pt"> </span></font></p><p><font size="2" face="Courier New"><span style="font-size: 10pt">
      <font color="#008000"><span style="color: #008000">//objeto objprinc;</span></font></span></font></p><p><font size="2" face="Courier New"><span style="font-size: 10pt">      <font color="#010001"><span style="color: #010001">
dos</span></font>= <font color="#0000ff"><span style="color: #0000ff">new</span></font>(<font color="#010001"><span style="color: #010001">enteros</span></font>);           // Asignar memoria a 'dos'</span></font></p><p><font size="2" face="Courier New">
<span style="font-size: 10pt">      <font color="#010001"><span style="color: #010001">dos</span></font>-><font color="#010001"><span style="color: #010001">num1</span></font>=5;                 // Rellenar la estructura
</span></font></p><p><font size="2" face="Courier New"><span style="font-size: 10pt">      <font color="#010001"><span style="color: #010001">dos</span></font>-><font color="#010001"><span style="color: #010001">num2</span>
</font>=3;</span></font></p><p><font size="2" face="Courier New"><span style="font-size: 10pt">      <font color="#010001"><span style="color: #010001">uno</span></font> = <font color="#010001"><span style="color: #010001">
dos</span></font>;                   // el puntero 'uno' apunta a 'dos', ahora tienen la misma direccion de memoria</span></font></p><p><font size="2" face="Courier New"><span style="font-size: 10pt">      ((<font color="#010001">
<span style="color: #010001">tipoent</span></font>*)<font color="#010001"><span style="color: #010001">uno</span></font>)-><font color="#010001"><span style="color: #010001">num1</span></font> = 10;  // modificamos uno con la estructura de 'tipoent' ('uno' sigue siendo void)
</span></font></p><p><font size="2" face="Courier New"><span style="font-size: 10pt">                                   // Ahora 'dos->num1' = 10.</span></font></p><span class="q"><p><font size="2" face="Courier New"><span style="font-size: 10pt">
      </span></font></p><p><font size="2" face="Courier New"><span style="font-size: 10pt"> </span></font></p><p><font size="2" face="Courier New"><span style="font-size: 10pt">      <font color="#010001"><span style="color: #010001">
printf</span></font>(<font color="#a31515"><span style="color: #a31515">"Fin del programa\n"</span></font>);</span></font></p></span><p><font size="2" face="Courier New"><span style="font-size: 10pt">      <font color="#010001">
<span style="color: #010001">system</span></font>(<font color="#a31515"><span style="color: #a31515">"pause"</span></font>);</span></font></p><p><font size="2" face="Courier New"><span style="font-size: 10pt">      
<font color="#0000ff"><span style="color: #0000ff">return</span></font> (0);</span></font></p><p><font size="2" face="Courier New"><span style="font-size: 10pt">}</span></font></p><p><font size="2" face="Courier New"><span style="font-size: 10pt">
 </span></font></p><p><font size="2" face="Courier New"><span style="font-size: 10pt">Espero haberte dado alguna idea de cómo poder afrontar el problema.</span></font></p><p><font size="2" face="Courier New"><span style="font-size: 10pt">
 </span></font></p><p><font size="2" face="Courier New"><span style="font-size: 10pt">Solo recuerda que un puntero es tan solo una direccion de memoria guardada en un entero (el tipo de puntero, solo es usado para poner un offset sobre esa direccion de memoria y tener unos indices de desplazamiento que usara el compilador, y de paso resulta mas facil e intuitivo programar con estructuras que con offsets como en el lenguaje ensamblador)
</span></font></p><div><p align="right" style="text-align: right"><font size="2" color="#000080" face="Arial"><span style="font-size: 10pt; font-family: "Arial [monotype]"; color: #000080"> </span></font></p><p align="right" style="text-align: right">
<font size="2" color="#000080" face="Arial"><span style="font-size: 10pt; font-family: "Arial [monotype]"; color: #000080"> </span></font></p><p align="right" style="text-align: right"><font size="2" color="#000080" face="Arial">
<span style="font-size: 10pt; font-family: "Arial [monotype]"; color: #000080"> </span></font></p><p align="right" style="text-align: right"><font size="2" color="#000080" face="Arial"><span style="font-size: 10pt; font-family: "Arial [monotype]"; color: #000080">
.: ZeLion :.</span></font></p></div><div style="border-top-color: #000000; border-left-color: #000000; border-right-color: #000000; border-bottom-color: #000000; border-top-width: medium; border-left-width: medium; border-right-width: medium; border-bottom-width: medium; border-top-style: none; border-left-style: none; border-right-style: none; border-bottom-style: none; border-left-color: #0000ff; border-left-width: 1.50pt; border-left-style: solid; padding-top: 0cm; padding-right: 0cm; padding-bottom: 0cm; padding-left: 4pt">
<div><div align="center" style="text-align: center"><font size="3" face="Times New Roman"><span style="font-size: 12pt"><hr size="2" width="100%" align="center"></span></font></div><p><b><font size="2" face="Tahoma"><span style="font-size: 10pt; font-family: "Arial [monotype]"; font-weight: 700">
De:</span></font></b><font size="2" face="Tahoma"><span style="font-size: 10pt; font-family: "Arial [monotype]""> <a href="mailto:cconclase-bounces@listas.conclase.net" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
cconclase-bounces@listas.conclase.net</a> [mailto:<a href="mailto:cconclase-bounces@listas.conclase.net" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">cconclase-bounces@listas.conclase.net</a>] <b>
<span style="font-weight: 700">En nombre de </span></b>D1e6o!<br><b><span style="font-weight: 700">Enviado el:</span></b> martes, 18 de septiembre de 2007 0:15<br><b><span style="font-weight: 700">Para:</span></b> Lista de correo sobre C  y C++
<br><b><span style="font-weight: 700">Asunto:</span></b> [Bulk] [C con Clase] Ayuda sobre estructuras, como defino un puntero?</span></font></p></div><div><span class="e" id="q_11517ace9fae1003_5"><p><font size="3" face="Times New Roman">
<span style="font-size: 12pt"> </span></font></p><p><font size="3" face="Times New Roman"><span style="font-size: 12pt">Hola gente, ando con un problema con estructuras:<br><br> Quería asignar una lista pero l cual puede contener distintos de objetivo en su enlace como ven:
<br><br> nodo debe apuntar a otro nodo que puede ser de uno de los siguietes: <br><br> nodo:<br> -int enteroa<br> -int enterob<br><br> nodo:<br> -float floata<br> -char *comentario<br><br> etc etc;<br><br> además también está la posibilidad de que sea otro nodo de mismo tipo.
<br><br> El problema es que no se como debería asignar los tipos de punteros... <br><br> #include <stdio.h><br><br> typedef struct objeto {char tipo; puntero *obj1; puntero *obj2;} tipoobj; //aca esta mi primer problema, como defino un puntero que pueda apuntar a cualquier tipo de dato??
<br> typedef struct enteros{int num1,num2;} tipoent; <br> typedef struct otrotipo {int num1, char comentario[20];}tipootro;<br><br> typedef tipoobj *objprinc;<br> typedef tipofra *fraprinc;<br><br> int main() <br> {<br> tipoobj *uno;
<br> tipofra *dos;<br> //objeto objprinc;<br> uno=(tipoobj *) malloc(sizeof(tipoobj));<br> dos=(tipoent *) malloc(sizeof(tipoent));<br> uno->operac='+';<br> dos->num1=5;<br> dos->num2=3;<br> printf("Fin del programa\n");
<br> return (0);<br> }<br><br> Lo que quisiera es lograr apuntar por uno a una variable del tipo tipoent, tipootro o del mismo tipoobj o otros tipos que defina mas adelante sin problemas... e incluso hasta a una variable del tipo char, supongo que no hay problemas con esto por ocupar un puntero lo mismo para cualquier tipo pero.. como? Alguien tiene un ayudita? 
<br><br> Gracias y saludos!</span></font></p></span></div></div></div></div><br>_______________________________________________<br>Lista de correo Cconclase <a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:Cconclase@listas.conclase.net">
Cconclase@listas.conclase.net</a><br><a onclick="return top.js.OpenExtLink(window,event,this)" href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
</a><br>Bajas: <a onclick="return top.js.OpenExtLink(window,event,this)" href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a><br></blockquote>
</div><br>