可以传递结构体,不过我不知道你是哪种情况,我自己写了一个含有时分秒的结构体,就可以作为参数进行相加相减
成都创新互联一直通过网站建设和网站营销帮助企业获得更多客户资源。 以"深度挖掘,量身打造,注重实效"的一站式服务,以成都网站制作、成都网站建设、移动互联产品、网络营销推广服务为核心业务。十年网站制作的经验,使用新网站建设技术,全新开发出的标准网站,不但价格便宜而且实用、灵活,特别适合中小公司网站制作。网站管理系统简单易用,维护方便,您可以完全操作网站资料,是中小公司快速网站建设的选择。
#include stdio.h
#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); //同上
}
可以的,不过传入的是改结构体的一个副本
如果需要在函数中更改结构体内容,可以把这个结构体的指针作为参数传入函数,返回的也是该结构体的指针