Punteros y malloc()
Publicado por Clayder (16 intervenciones) el 29/09/2008 21:38:17
Hola:
Tengo un problemilla con algunas definiciones sobre punteros, por ejemplo:
struct mi_struct{
char nombre[5];
};
typedef mi_struct St;
int main()
{
St *st;
st = (mi_struct*)(malloc(sizeof(struct mi_struct)));
st->nombre = "Hola";
}
Porque no me permite asignarle un valor con el "=" y si con "strcpy(st->nombre,"Hola");". Ademas cuando se debe usar malloc()?, solo cuando creo variables de tipo puntero? y porque me pide hacerle un casting al tipo de dato de "mi_struct"? ya que he visto porciones de codigo en la que no te pide hacer este casting y lo asigna solo, por ejemplo en las estructuras de datos como una lista enlazada.
Gracias de antemano por resolver mis dudas.
Saludos.
Tengo un problemilla con algunas definiciones sobre punteros, por ejemplo:
struct mi_struct{
char nombre[5];
};
typedef mi_struct St;
int main()
{
St *st;
st = (mi_struct*)(malloc(sizeof(struct mi_struct)));
st->nombre = "Hola";
}
Porque no me permite asignarle un valor con el "=" y si con "strcpy(st->nombre,"Hola");". Ademas cuando se debe usar malloc()?, solo cuando creo variables de tipo puntero? y porque me pide hacerle un casting al tipo de dato de "mi_struct"? ya que he visto porciones de codigo en la que no te pide hacer este casting y lo asigna solo, por ejemplo en las estructuras de datos como una lista enlazada.
Gracias de antemano por resolver mis dudas.
Saludos.
Valora esta pregunta


0