Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

280
Visualizações
Inicializando estructura Malloc'ed

Estoy tratando de inicializar una estructura usando llaves, pero realmente estoy tratando de inicializar la estructura a la que apunta un puntero devuelto por una llamada malloc.

 typedef struct foo{ int x; int y; } foo; foo bar = {5,6};

Entiendo cómo hacerlo, pero necesito hacerlo en este contexto.

 foo * bar = malloc(sizeof(foo)); *bar = {3,4};
over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

(Esto fue respondido en los comentarios, por lo que es un CW).

Debe emitir el lado derecho de la tarea, así:

 *bar = (foo) {3,4};

Como señaló @cremno en el comentario, esto no es un reparto sino una asignación de un literal compuesto

La sección relevante del estándar C99 es: 6.5.2.5 Literales compuestos que dice:

Una expresión de sufijo que consta de un nombre de tipo entre paréntesis seguido de una lista de inicializadores entre llaves es un literal compuesto. Proporciona un objeto sin nombre cuyo valor viene dado por la lista de inicializadores

over 4 years ago · Santiago Trujillo Relatório

0

bar es un puntero que hace referencia a la estructura foo malloced

Usar bar->x=3;bar->y=4

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda