Ir para conteúdo
Fórum Script Brasil
  • 0

Alocar Memoria


richenrique

Pergunta

Ola amigos

possuo 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

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0

para ela tu pode alocar com sizeof() dai so tem que prever de algum jeito o q vem do tc

Link para o comentário
Compartilhar em outros sites

  • 0

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.

Link para o comentário
Compartilhar em outros sites

  • 0

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... tongue.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Então o que eu pensei foi o seguinte:

1) Criar um char dentro da estrutura

typedef struct

{

    unsigned int msg_no;

    struct timeval send_time;

    char vetor[];

} data_t;

só q dá pau pois não aceita sem definir o tamanho

2) 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 byte

4) Assim eu teria o tamanho da estrutura + o que a pessoa entraria do teclado

mas não estou conseguindo fazer isso. Alguém poderia me ajudar nisso? Preciso até amanha! Abraços e obrigado

Link para o comentário
Compartilhar em outros sites

  • 0

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ável

gets ( x.vetor ); // leitura da string

Aguardo retificações...

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...