Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

279
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda