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

722
Views
Palabra clave de estructura en parámetros de función, ¿cuál es la diferencia?

Me pregunto, ¿cuál es la diferencia entre:

 struct Node { int data; Node *next; };

y

 struct Node { int data; struct Node *next; };

¿Por qué necesitamos la palabra clave struct en el segundo ejemplo?

Además, ¿cuál es la diferencia entre

 void Foo(Node* head) { Node* cur = head; //.... }

y

 void Foo(struct Node* head) { struct Node* cur = head; //.... }
over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Solo las declaraciones que incluyen struct son válidas en C. No hay diferencia en C++.

Sin embargo, puede typedef la struct en C, por lo que no tiene que escribirla cada vez.

 typedef struct Node { int data; struct Node *next; // we have not finished the typedef yet } SNode; SNode* cur = head; // OK to refer the typedef here

Esta sintaxis también es válida en C++ por compatibilidad.

over 4 years ago · Santiago Trujillo Report

0

El nodo Struct es un nuevo tipo de datos definido por el usuario que creamos. Y a diferencia de las clases, el nuevo tipo de datos que usa estructuras es "struct strct_name", es decir; necesitas la palabra clave struct delante de struct_name. Para las clases, no necesita palabras clave delante del nuevo nombre del tipo de datos. p.ej;

 class abc { abc *next; };

y cuando declaras variables

 abc x;

en lugar de estructura

 abc x;

en caso de estructuras. También entiendo que por la declaración

 struct node * next;

estamos tratando de crear un puntero que apunte a una variable de tipo "strcut node", que en este caso se denomina puntero autorreferencial, ya que apunta a la estructura principal.

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!