C/Visual C - typedef struct!!!!!!!!!

 
Vista:

typedef struct!!!!!!!!!

Publicado por Sebastian (7 intervenciones) el 19/09/2007 15:46:03
Buenas gente ...... tengo varios problemas con las estructuras es decir no se como utilizarlas del todo ,
por ejemplo creo FUERA DEL MAIN

typedef struct agenda
{
char nombre_apellido[50];
int edad;
int telefono;
char dir[30];
}vector[100]; // un struct con 4 variables dentro de un vector de 100 espacios no?

y lo que quiero es llamarlo de una funcion en donde quiero agregar a este vector (lista ), nombre_apellido (de empleados por ejemplo),
el el void ingresar ;

char ch;
printf ("para ingresar nombre presione [S]\n");
printf("para volver al menu [N]\n");
scanf("%s",& ch);

if (ch == 'S' || ch == 's' )
{
while (ch)
{
printf ("ingrese nombre completo \n");
scanf("%s",&agenda.nombre_apellido);// no se como llamar la variable struct , se entiende ? //
}

}
else
{
return
}
GRACIAS saluda sebas de uruguay
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:typedef struct!!!!!!!!!

Publicado por fernando.gomez (1603 intervenciones) el 19/09/2007 17:58:05
Tu declaración está mal, a ver. Un typedef es una forma de tipificar otro tipo de datos. De ahí que tu código:

typedef struct agenda
{
char nombre_apellido[50];
int edad;
int telefono;
char dir[30];
}vector[100]

esté mal, porque estarías creando un nuevo tipo de datos: vector[100], lo cuál es incorrecto. Lo que deberías poner, en todo caso, es:

struct agenda
{
char nombre_apellido[50];
int edad;
int telefono;
char dir[30];
}vector[100];

En C, una instancia de una estructura la instancias de la siguiente forma::

struct agenda mi_var;

Por lo que muchas veces se emplea un typedef para no tener que escribir tanto:

typedef struct _agenda
{
char nombre_apellido[50];
int edad;
int telefono;
char dir[30];
} agenda;

agenda vector1[100];
struct _agenda vector2[100];

Como puedes ver en el ejemplo anterior, en la primera instancia no necesité poner el "struct", mientras que en la segunda sí.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar