重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
#include stdio.h
漳浦ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!
#include stdlib.h
#define LINE_MAX 80
struct body{
char data[100]; //要定义成数组才可以,不然,还要去分配内存
int num;
};
void create(struct body *bd); //结构体定义后,才能使用结构体类型,所以,移动到定义之后
int main(int argc, char *argv[]) {
int choose;
struct body *bd;
bd = (struct body*)malloc(sizeof(struct body));
while(1)
{
printf(" *******************欢迎来到文章编辑系统********************\n");
printf("1. 创建新文本\n");
printf("2. 统计文本\n");
printf("5. 退出系统\n");
printf("请选择你需要的功能的序号:");
scanf("%d",choose);
switch(choose)
{
case 1:
printf("创建新文本\n");
create(bd);
continue;
case 2:
printf("统计文本\n");
continue;
case 5:
printf("谢谢您的使用!\n");
break;
default:
printf("请正确输入!\n");
continue;
}
if(choose == 5)
break;
}
return 0;
}
void create(struct body *bd)
{
printf("编辑文本,Enter键保存\n");
scanf("%s",bd-data);//结构体指针引用成员用-, 同时,格式串应该是%s
printf("您输入的文本是:%s\n",bd-data); //同上
}
intcmp是和GetKeyFunc_t对应起来的。
而你现在错在了CmpFunc_t这个函数参数上了。
你把怎样的函数参数指针传给了BST_t *newBST?
你没交代清楚啊,你把错误指针传给newBST函数的第一个参数,编译器肯定报错了。你给了那么多代码,关键你把什么传给了BST_t *newBST的第一个参数?给一下你调用这个newBST函数的代码,而且要你传给该函数第一个参数的参数定义。
另外给个建议:定义函数时,记得对传进来的参数进行合法性检验。多加几行代码是很有必要的,能增强函数的健壮性。(微软也好,ISO也好,都对大部分函数设计时要求做必要的合法检验)
这是个函数指针 前面的void为返回值类型 后面的void*为参数类型.
函数指针是可以作为某个函数的参数的.
(1) 指向函数的指针变量的一般定义形式为:
数据类型 (*指针变量名)(函数参数列表)
函数名是可以缺省的 作为参数传递的时候会去调和 void*(*)(void*)这个类型相匹配的函数的
作为参数调用这个函数的时候 返回类型是void* 就相当于传了一个参数类型为void*,当然这个函数指针的参数也是void*的
按你的意思,应该是
AllPtr[0][0] = 'A';
AllPtr[0][0] = 'B';
AllPtr[0][0] = 'C';