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

struct + ponteiros


viniciusams

Pergunta

Pessoal, estou querendo percorrer uma struct e setar valores nela utilizando um ponteiro, é possível? Como?

Eu preciso dessa forma porque um campo da struct é uma union e assim podem ser diferentes tipos de estrutura no mesmo campo, então como não sei qual eu vou receber e para evitar um switch imenso estou pensando em fazer dessa forma.

Assim vou utilizar offsetof para ajudar tambem.

alguém sabe como fazer isso?

Valeu

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Amigo, não é exatamente isso não, obrigado pela tentativa

o meu problema é que o membro é uma uniao de varias outras estruturas, então, pode ser teste->membro.teste1 ou teste->membro.teste2 ou teste->membro.teste3

Essas estruturas teste1, teste2 e teste3 eu só sei em tempo de execução, então para eu fazer isso só fazendo um switch, pois eu recebo um id, ou então eu utilizo a ideia da minha pergunta, que é utilizar um ponteiro para preencher a estrutura

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, só consigo pensar escrevendo na memória com memcpy. Porém, meu conhecimento sobre unions é bem limitado.

Porém, acho que seja assim:

Union com 3 fields:

char

short

long

Acho que o char irá utilizar o primeiro byte, short os dois primeiros e o long os 4 possíveis na union.

Então caso queira escrever alguma coisa no long, você escreve 4 bytes pelo memcpy, e assim vai. (e pode acessar o primeiro e os dois primeiros pelo char e short, respectivamente)

Abraços.

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...