Caso 1: struttura dichiarata fuori main()
lavorando benedove dichiarare le strutture, dentro main() o outside main()?
#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: dichiarata all'interno main()
dando errore
[Errore] digitare 'main() :: prod' senza linkage utilizzato per dichiarare la funzione 'int billamt (main() :: prod *)' con linkage [-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;
}
Se l'opzione n. 1 funziona bene ma l'opzione n. 2 restituisce un errore che dice che non può essere fatto ... Direi di andare con l'opzione n. 1! – rodrigo