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

Por favor, me ajudem a decifrar esse código enigmático.


Ricardo Martins

Pergunta

Esses dias atrás eu descobri uma coisa bem interessante sobre estruturas.

Vamos supor que eu crie uma estrutura e, mais adiante, declare uma variável dessa estrutura:

struct EXEMPLO
{
  int a;
  float b;
  char *c;
};

...

EXEMPLO ex;
O que eu aprendi foi que é possível fazer uma atribuição para todos os elementos da estrutura duma vez só. Pode ser usando constantes:
ex= (EXEMPLO) {25, 3.14, "Exemplo"};
Ou até mesmo variáveis:
int inteiro= 25;
float real= 3.14;
char *string= "Exemplo";

ex= (EXEMPLO) {inteiro, real, string};
Como eu achava que só dava pra fazer isso na inicialização, quando eu queria atribuir valores para as variáveis dentro da estrutura, eu fazia uma por uma. Mais aí então surgiu uma curiosidade. E como é que eu faço essa atribuição "em massa" se a estrutura for anônima? Lembrando que pra fazer esse tipo de atribuição é necessário fazer um cast com o nome da estrutura que você criou. Então eu passei a tentar de várias formas possíveis e no final eu não consegui mesmo! Mas descobri outra coisa estranha. Quando eu digitava as linhas de código logo abaixo, o compilador não dava erro, mesmo se essas linhas fossem as únicas que tivesse digitado:
struct::a;

(struct::b) 1, 2, 3;

(struct::c) {1, 2, 3};

int struct::d;

Se o compilador não acusou nenhum erro, suponho que isso seja uma expressão válida que faça alguma coisa quando usada com alguma outra coisa. Mas eu não sei onde isso pode ter algum efeito e gostaria de saber. No que pode ser usado essas linhas de código enigmáticas?

Caso faça alguma diferença, o meu compilador é o wxDev-C++ 7.3.1.

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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