Ola galera,
necessito fazer algo do tipo:
struct node{
int a;
char *s;
};
void main()
{
node *x;
int sMAX = 3;
int nodeMAX = 10;
...
x = (node*)malloc((sizeof(int)+sizeof(char)*sMAX)*nodeMAX);
...
}
em outras palavras quero alocar dinamicamente o tamanho de nodes e tb o tamanho da string s dentro de node
tentei de tudo:
x = (node*)malloc((sizeof(node)*nodeMAX);
x = (node*)malloc((sizeof(struct node)*nodeMAX);
x = (node*)malloc((sizeof(node)+sizeof(char)*sMAX)*nodeMAX);
..
sempre dando erro de execução..
é possivel fazer o q eu quero em C?
[]´s
Malloc E Struct
Started By Dusse, 21/11/2008, 11:32
1 reply to this topic
#1
Posted 21/11/2008, 11:32
#2
Posted 21/11/2008, 12:12
int i; x = (node *) malloc(sizeof(node) * nodeMAX); for (i = 0; i < nodeMAX; i++) { (x+i)->s = (char *) malloc(sizeof(char) * sMAX); }Creio que seja assim para fazer o que você quer. Primeiro deve-se alocar a memória para as nodeMAX structs, e depois, pra cada struct que foi alocada, alocar sMAX chars pro campo s da struct.
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)