Случай 1: структура объявлены вне main()
работает нормальногде объявлять структуры, внутри main() или внешние 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;
}
Случай 2: объявленная внутри main()
дает ошибку
[Ошибка] типа 'основной() :: Прод' без связь, используемая для объявления функции 'int billamt (main() :: prod *)' с привязкой [-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;
}
Если опция № 1 работает нормально, но опция № 2 дает ошибку, говоря, что это невозможно ... Я бы сказал, пойдите с опцией # 1! – rodrigo