Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

276
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!