Question

struct Object * newObj(char * nome, int idade, float altura) {
    struct Object *obj = (struct Object *) malloc(sizeof(struct Object));
    strcpy(obj->nome, nome); // This is the line
    obj->idade = idade;
    obj->altura = altura;
    return obj;
}

This is my code, I don't know why I'm getting segmentation fault in strcpy.
Any ideas?

Thanks in advance.

Was it helpful?

Solution

In your struct Object type, the nome member is declared as a pointer and you also need to allocate memory for the array. Without allocating memory obj->nome has an inderminate value.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top