题目明显提示你没有定义“add”呀,要求你查看“add”哦!再个你程序还是有问题的吧,如果你把它放到不同的源文件中一起编译连接的话,还会出现重复定义的错误吧。改正如下:
#include
#include
struct add *wwe();
struct add
{
int xuehao;
};
main()
{
struct add *p1;
p1=wwe();
}
//被调函数332.c
#include
#include
struct add *wwe() //此处你是定义一个名为wwe的函数,没有参数,返回值类型是:struct add*
{
struct add *p1;
p1=(struct add *)malloc(sizeof(struct add)); /*此处“extern”可以不要吧,一般他是用来声明用的,*/
return p1; //此处要返回一个值,没有值是不可以的
}
332.c 里面必须include 3.c文件。因为3.c里没有 struct add 结构体的定义,sizeof(extern struct add),里不用extern的。 3.c里面也要include 33.2文件。因为struct add *wwe();在332.c文件里面。
你可以用头文件的方式来声明。就不用include 点C文件了
先建立个头文件,以.h命名保存,要写明下面需要调用的函数,然后在主函数中才可以调用
将struct add *wwe();放到 struct add下面试试吧~