tenho esse código
#include <stdio.h>
#include <stdlib.h>
typedef struct pessoa{
int idade = 12;
char *nome = "lucas";
}Pessoa;
int main(){
struct dados{
char *cidade = SP;
Pessoa garoto;
}data;
return 0;
}
mas não compila!
Atualização: 06/02/2025 20:30
já descobri o problema, segue correção:
#include <stdio.h>
#include <stdlib.h>
typedef struct pessoa{
int idade;
char *nome;
}Pessoa;
int main(){
struct dados{
char *cidade;
Pessoa garoto;
}data;
data.cidade = (char *) malloc(sizeof(char) * 3);
data.garoto.nome = (char *) malloc(sizeof(char) * 128);
data.garoto.idade = 12;
data.cidade = "SP";
data.garoto.nome = "lucas";
printf("garoto %s de %s tem %d anos\n", data.garoto.nome, data.cidade, data.garoto.idade);
return 0;
}