[C con Clase] sobre listas enlazadas

=?utf-8?B?TGVvbmVsIEZsb3LtbiBTZWxsZXM=?= leonel06033 en cfg.jovenclub.cu
Mar Sep 2 22:12:08 CEST 2008


muchas gracias para todos amigos, por contestarme, ya veo que esto
es solo cuestion de comodidad.

David fire dijo
> bueno para contestarte tuve que buscar en el diccionario seudonimo.
> typedef no crea seudonimos, crea tipos de datos.
> define crea seudonimos....

bueno amigo, hasta donde se, typedef no crea tipo de datos, sino que
crea una identificador que se va a utilizar en lugar del tipo de
datos por el cual se va a sustituir, por ejemplo en C, cuando se cre
una struct

struct datos{
 char *nombre;
 int edad;
 ....
 ....
};

esto crea un tipo de dato tipo struct datos, cuando se van a crear
las variables de este tipo de struct se pone

struct datos lista[15];

pero por comodida uno puede sustituir struct datos por

typedef struct datos DATOS;

typedef no crea un nuevo tipo de datos, sino que crea un
identificador que va a ser utilizado para sustitur el nuevo tipo de
datos (struct datos), solo por comodidad, es decir en ves de poner
struct datos se pude porner DATOS y ya. (Esto en C++ cambia.)

#define es una directiva del procesador y lo que crea son constantes
simbolicas, donde una constante simboloca es un identificador que se
remplaza con texto de remplazo en el procesador C, antes de que el
programa sea compilado, y cuando el programa es procesado, donde
quiera que aparesca una instancia de la constante simbolica, esta
será remplazada por el texto de remplazo utilizado. ejemplo

#define SIZE 20;

int main()
{
  int arreglo[SIZE];
}


lo que parece es que #define y typedef son paresidos, pero de hay
para alla no se, lo que tengo entendido es que se paresen pero no
son iguales.

y una de las definiciones de sudonimo en el diccionario es que, se
utiliza para ocultar con un nombre falso el nombre verdadero, es eso
es lo que hace typedef.

bueno amigo, saludos.






> #define byte char
>
> ahi si estoy creando un seudonimo de char...
>
> volviendo al punto de tu email, se crea el tipo de datos lista y el
> tipo de
> datos puntero a lista por una cuestion de comodidad, q a mi
> personalmente no
> me gusta pero se utiliza mucho.
>
>
> char *prtchar;
> typedef char* PRTchar;
>
> PTRchar ptrchar;
> los dos ptrchar son iguales....a mi me gusta mas la primera pero es
> cuestion
> de gustos.
> el poder del typedef se lo ve cuando lo usas para crear un typo de
> datos
> neva a partir de un struct o de un union o de similares...
>
>
> otra vez lo que crea no son seudonimos son tipos de datos.
>
> saludos
> David
>
>
>
>
> El 2 de septiembre de 2008 11:25, Leonel Florín Selles <
> leonel06033 en cfg.jovenclub.cu> escribió:
>
>> hola amigos:
>>
>> bueno tengo una duda que quiciera si alguien sabe me la explique,
>> bueno la cosa es.
>>
>> Estoy siguiendo un curso de c/c++ que tengo un libro, son tres
>> tomos, y se llaman como programar en c/c++, estan buenos, aunque
>> creo que un poco viejos pero me ayudan cantidad, son de calidad.
>> Estoy en la unidad de estructura de datos y uno de los primeros
>> programas que muestra es con listas enlazadas, en este programa se
>> crea un nodo que es una struct autoreferenciada con dos miembros,
>> uno es una variable tipo char y el otro es el apuntador a una
>> struct
>> del mismo tipo, despues me crea sudonimos con typedef, pero uno de
>> estos seudonimos es un apundator a otro seudonimo, bueno les dejo
>> el
>> ejempo:
>>
>> struct listaNodo {
>>  char data;
>>  struct listaNodo *nextPtr;
>> };
>>
>> typedef struct listaNodo LISTNODO;
>> typedef LISTNODO *LISTNODOPTR;
>>
>> main()
>> {
>>   LISTNODOPTR startPrt = NULL
>> ...
>> ...
>> ...
>> }
>>
>> bueno como ven, crea un seudonimo que es un apuntador a un
>> seudonimo
>> de la struct listaNodo, y despues dentro de main me crea el
>> apuntador  starPtr que apuntara a el primer nodo de la lista, pues
>> la cosa es, no es lo mismo hacer esto
>>
>> typedef struct listaNodo LISTNODO;
>>
>> main()
>> {
>>  LISTNODO *starPtr = NULL;
>> ....
>> ....
>> }
>>
>> porque hacer lo otro, yo entiendo lo que me dice el ejempo, no es
>> que typedef es solo para hacer seudonimos.
>>
>> bueno espero que alguien me diga porque se hace esto.
>>
>> saludos.
>>
>>
>> _______________________________________________
>> Lista de correo Cconclase Cconclase en listas.conclase.net
>> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
>> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>>
>
>
>
> --
> (\__/)
> (='.'=)This is Bunny. Copy and paste bunny into your
> (")_(")signature to help him gain world domination.
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ


-- 
Datos Personales:
------------------------------------------------
    Provincia: Cienfuegos.
    Municipio: Cumanayagua
         Tel�: 7496
Id. Jabber Jc: leonel06033 en jabber.cfg.jovenclub.cu
        Apodo: Erf
--------------------------------------------------
  "Sois lo que haceis de forma repetida. La excelencia no es un
hecho aislado, es un h�bito".
                  Arist�teles.
--------------------------------------------------






Más información sobre la lista de distribución Cconclase