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

268
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

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 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