C/Visual C - Estructuras. Cargar datos

   
Vista:

Estructuras. Cargar datos

Publicado por txoco (7 intervenciones) el 16/05/2009 18:43:57
Hola a todos;

Estoy empezando con las estructuras y ...zas! la primera en la frente. Tengo ciertas dificultades al introducir datos en cada campo, más que nada en los campos char. Me explico:

//Declaro una estructura sencilla:

struct datos {
char nombre[30];
int edad;
};
struct datos persona1;

//Ahora intento introducir datos:
// Forma1:

persona1.nombre = "Manolo"; //---------> ¿POR QUE DE ESTA FORMA ME DA ERROR al cargar la variable char?
persona1.edad = 45; //----------> Y así ,no?

//Forma2:

strcpy (persona1.nombre, "Manolo"); //----------->Así no da error

//Forma3:

struct datos persona1 {"Manolo", 30}; //------------>Así tampoco me da error

¿Es incorrecta la primera forma que tengo de introducir los datos?¿Por qué no da error sin embargo al cargar la variable int?

Un Saludo y gracias por la atención.
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:Estructuras. Cargar datos

Publicado por daniel (4 intervenciones) el 17/05/2009 00:12:55
hola txoco, en c no podes manipular directamente los strings o char* o char[]. tenes q utilizar funciones auxiliares como laq pusist: strcpy

otra forma sería hacer:
persona1.nombre[0] = 'M';
persona1.nombre[1] = 'a';
persona1.nombre[2] = 'n';
persona1.nombre[3] = 'o';
persona1.nombre[4] = 'l';
persona1.nombre[5] = 'o';

pero obviamente es mas incomodo.

me parece super extraño q no te de error al hacerlo así:
struct datos persona1 {"Manolo", 30}; //------------>Así tampoco me da error
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

RE:Estructuras. Cargar datos

Publicado por txoco (7 intervenciones) el 17/05/2009 17:57:04
Hola;

Muchas gracias por la respuesta revisé los apuntes y es cierto lo que dices, a diferencia de otros lenguajes no se pueden asignar directamente los strings...

[quote=daniel]
me parece super extraño q no te de error al hacerlo así:
struct datos persona1= {"Manolo", 30}; //------------>Así tampoco me da error
[/quote]

En cuanto a esto...pues lo volví a revisar y no da error, es raro y en buena parte a esto se debe mi confusión porque digo yo que es practicamente lo mismo que asignarlo directamente, no??

Bueno, reitero el agradecimiento y me atendré a lo que sé que funciona.

Un Saludo
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