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

267
Views
¿dónde declarar estructuras, dentro de main() o fuera de main()?

Caso 1: estructura declarada fuera de main() funcionando bien

 #include<stdio.h> #include<conio.h> struct prod { int price,usold; }; int main() { struct prod *p,a; int billamt(struct prod *); int bill; printf("enter the values \n"); scanf("%d%d",&p->price,&p->usold); bill=billamt(p); printf("bill=%d",bill); getch(); } int billamt(struct prod *i) { int b; b=(i->price*i->usold); return b; }

Caso 2: declarado dentro de main() dando error

[Error] escriba 'main()::prod' sin vinculación usada para declarar la función 'int billamt(main()::prod*)' con vinculación [-fpermissive]*

 #include<stdio.h> #include<conio.h> int main() { struct prod { int price,usold; }; struct prod *p,a; int billamt(struct prod *); int bill; printf("enter the values \n"); scanf("%d%d",&p->price,&p->usold); bill=billamt(p); printf("bill=%d",bill); getch(); } int billamt(struct prod *i) { int b; b=(i->price*i->usold); return b; }
over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

¿dónde declarar estructuras, dentro de main() o fuera de main() ?

  1. Lo primero, creo que quisiste decir "definir", no "declarar".

  2. En segundo lugar, no existe una regla como tal, puedes definir donde quieras. Se trata del alcance de la definición.

    • Si define la estructura dentro de main() , el alcance se limita solo a main() . Cualquier otra función no puede ver esa definición y, por lo tanto, no puede hacer uso de esa definición de estructura.

    • Si define la estructura en un ámbito global (es decir, fuera de main() o cualquier otra función), esa definición está disponible globalmente y todas las funciones pueden ver y hacer uso de la definición de estructura.

over 4 years ago · Santiago Trujillo Report

0

Tiene que ver con el alcance , cuando define la estructura dentro de la función main , solo se define en el alcance de la función main , por lo que la función billamt no puede saberlo.

over 4 years ago · Santiago Trujillo Report

0

La estructura es una matriz similar, solo que la diferencia principal en Array puede contener solo el mismo tipo de valores, pero una estructura puede tener diferentes tipos de valores, por lo que si necesita implementar la estructura globalmente (por globalmente quiero decir que también se puede usar en cualquier otra función) defínalo fuera de la función principal y si desea usar su estructura solo en la función principal, defínalo dentro de ella. Codificación feliz :-)

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!