Código
typedef struct{ char *name; int nia; }datos; struct elemento_t{ datos valor; struct elemento_t *next; }; typedef struct elemento_t elemento_type; typedef struct{ int tamanho; int num_elementos; double densidad_deseada; elemento_type **tabla; }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
tabla_type table; int i; table.tamanho=20; tabla.num_elementos=0; tabla.densidad_deseada=0.25; for (i=0;i<table.tamanho;i++) { tabla.tabla[i]=NULL; }
¿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.