Case 1: structure declared outside main() working fine
#include
#include
struct prod
{
int price,
where to declare structures, inside
main()or outsidemain()?
First thing, I think you meant "define", not "declare".
Second, there is no rule as such, You can define wherever you want. It is all about the scope of the definition.
If you define the structure inside main(), the scope is limited to main() only. Any other function cannot see that definition and hence, cannot make use of that structure definition.
If you define the structure in a global scope, (i.e., outside main() or any other function, for that matter), that definition is available globally and all the functions can see and make use of the structure definition.