Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: fafafa01 en 3 Enero 2017, 08:34 am



Título: a que refiere esta sintaxis
Publicado por: fafafa01 en 3 Enero 2017, 08:34 am
Código
  1. typedef struct{
  2. char *name;
  3. int nia;
  4. }datos;
  5. struct elemento_t{
  6. datos valor;
  7. struct elemento_t *next;
  8. };
  9. typedef struct elemento_t elemento_type;
  10. typedef struct{
  11. int tamanho;
  12. int num_elementos;
  13. double densidad_deseada;
  14. elemento_type **tabla;
  15. }tabla_type;

el primer typedef define un tipo de datos llamado "datos" que es una estructura que tiene un puntero a char y un entero.
luego define otra estructura llamada elemento_t que adentro contiene una estructura tipo "datos" creada anteriormente y que tiene el nombre valor, y un puntero a la misma estructura.
luego lo que hace es definir a la estructura ultima como un tipo de dato llamado elemento_type.
por ultimo define una estructura como table_type que contiene dos enteros, un double y un apuntador que apunta a apuntadores que apuntan al tipo de dato elemento_type.

AHORA BIEN, MI DUDA VIENE EN EL SIGUIENTE PEDAZO DE CÓDIGO:

Código
  1. tabla_type table;
  2. int i;
  3. table.tamanho=20;
  4. tabla.num_elementos=0;
  5. tabla.densidad_deseada=0.25;
  6. tabla.tabla = (elemento_type **) malloc (sizeof(elemento_type *)*table.tamanho);
  7. for (i=0;i<table.tamanho;i++)
  8. {
  9.     tabla.tabla[i]=NULL;
  10. }
  11.  

¿a que se refiere la expresión "tabla.tabla"?

se que tabla es un puntero que apunta a un puntero que apunta a una estructura de tipo elemento_type

lo que me confunde es el signo de puntuación, según entiendo con el signo de puntuación se entra a los miembros de una estructura.


Título: Re: a que refiere esta sintaxis
Publicado por: fafafa01 en 3 Enero 2017, 08:57 am
creo que los ultimos tres tabla esta mal, se refiere al nombre de la estructura que es table.

acá el link de donde saque el código:

http://www.it.uc3m.es/abel/as/MMC/M2/HashTable_es.html


Título: Re: a que refiere esta sintaxis
Publicado por: ivancea96 en 3 Enero 2017, 14:30 pm
Sí, debería poner table.

Y con respecto al punto, sí, como dices. Accedes a un elemento de la estructura.