dear freinds i have two problems.
1) Pointers to functions (Function Pointers)
i don't know what is the error in the following program....

#include<stdio.h>
#include<string.h>
void check(char *a, char *b, int(*cmp)());
main()
{

void check(char *a, char *b, int(*cmp)());
char s1[80],s2[80];
int (*p)();
p=strcmp;
gets(s1);
gets(s2);
check(s1,s2,p);
}

void check(char *a, char *b,int(*cmp)())
{
printf("testing for equality \n");
if (!(*cmp)(a,b))
printf("equal");
else
printf("not equal");
}

2) how to pass structures as an argument to a functiion e.g

intcal (struct {struct{ char name[10];
int num;
float amt;}bill)..
...
..
.....
etc..