richenrique Postado Março 12, 2004 Denunciar Share Postado Março 12, 2004 Ola amigospossuo uma estrutura definida typedef struct { unsigned int msg_no; struct timeval send_time;} data_t; preciso alocar memoria para ela + um numero específico de bytes que virá do teclado.Exemplo: entro com 100 bytes e a estrutura tem 200 bytes preciso alocar 300 bytes para aquela estrutura. alguém pode me ajudar... é urgente!!obrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Eddie_666 Postado Março 13, 2004 Denunciar Share Postado Março 13, 2004 para ela tu pode alocar com sizeof() dai so tem que prever de algum jeito o q vem do tc Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 richenrique Postado Março 13, 2004 Autor Denunciar Share Postado Março 13, 2004 Não entendi cara... pode explicar melhorvaleu Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 bonoddr Postado Março 13, 2004 Denunciar Share Postado Março 13, 2004 Você quer dizer alocação de memória dinâmica? Já ouviu falar do operador NEW? Com o DELETE você desaloca (acho que você já deve saber disso)Bom, a propriedade sizeof() eu não pesquisei, mas dá uma olhada nela sim que pode te ajudar. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 richenrique Postado Março 13, 2004 Autor Denunciar Share Postado Março 13, 2004 poderia mostrar como fazer isso?obrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Wicker Man Postado Março 14, 2004 Denunciar Share Postado Março 14, 2004 Se você usar new para alocar memória não precisará usar sizeof(), pois new calcula automaticamente o tamanho do tipo que está sendo usado.Acho ainda que se você alocar uma determinada quantidade de memória para a sua estrutura, a própria memória alocada seria usada para armazenar o que virá pelo teclado.Aguardo correções... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 richenrique Postado Março 14, 2004 Autor Denunciar Share Postado Março 14, 2004 Então o que eu pensei foi o seguinte: 1) Criar um char dentro da estruturatypedef struct { unsigned int msg_no; struct timeval send_time; char vetor[];} data_t; só q dá pau pois não aceita sem definir o tamanho2) Depois eu leria do teclado um inteiro (ex: 100)3) faria um for variando até a entrada e colocaria em cada posicao do vetor criado um caracter (exemplo 'A'), pois 1 caracter = 1 byte4) Assim eu teria o tamanho da estrutura + o que a pessoa entraria do tecladomas não estou conseguindo fazer isso. Alguém poderia me ajudar nisso? Preciso até amanha! Abraços e obrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Wicker Man Postado Março 14, 2004 Denunciar Share Postado Março 14, 2004 Tenta declarar um ponteiro para um char dentro da estrutura; assim você lê a string direto (sem precisar usar o for e sem precisar indicar o tamanho), usando gets() (em C). Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 richenrique Postado Março 14, 2004 Autor Denunciar Share Postado Março 14, 2004 tem como você fazer como fica ae?eu agradeço..valeu wicker Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Wicker Man Postado Março 15, 2004 Denunciar Share Postado Março 15, 2004 Acho que ficaria assim:typedef struct { unsigned int msg_no; struct timeval send_time; char *vetor; // esse ponteiro seria a sua string} data_t; Depois, para ler a string, você faria:data_t x; // declaração da variávelgets ( x.vetor ); // leitura da stringAguardo retificações... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Wicker Man Postado Março 15, 2004 Denunciar Share Postado Março 15, 2004 Uma observação: se quiser pegar o tamanho, em bytes, da estrutura, faça:tamanho_da_estrutura = sizeof( nome_da_estrutura );Até. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
richenrique
Ola amigos
possuo uma estrutura definida
preciso alocar memoria para ela + um numero específico de bytes que virá do teclado.
Exemplo: entro com 100 bytes e a estrutura tem 200 bytes preciso alocar 300 bytes para aquela estrutura.
alguém pode me ajudar... é urgente!!
obrigado
Link para o comentário
Compartilhar em outros sites
10 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.