Miracle C is a C compiler, Turbo C++ is a C++ compiler. This is an important difference.
Function main() should be of type int and return an int-value.
What does not work on your code or what errors does your compiler give? I've compiled it with GCC and have no problems.
About passing a structure:
Code:
/* When structure is only used for its info, pass it by value */
void function (struct exam result)
{
printf("%d, %f", result.mark, result.av);
}
/* When adaptation of structure is necessary use pointer to struct */
void function (struct exam *result)
{
result->mark = 1;
result->av = 1.0;
}