定义结构体编写函数c语言,c语言 定义结构体

C语言中如何把结构体变量定义在主函数内,再调用一个自定义输入函数和输出函数

可以在外部定义结构体类型,然后在主函数内部定义该类型的变量。在输入输出函数调用时,以结构体变量指针做为参数传递。

三水ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!

参考代码如下:

#include stdio.h

struct test

{

int a;

};//定义结构体类型struct test。

void input(struct test* p)//输入函数,以指针作为参数。

{

scanf("%d",p-a);

}

void output(struct test *p)//输出函数,以指针作为参数。这里也可以以结构体变量作为参数,不过用指针效率更高。

{

printf("%d\n", p-a);

}

int main()

{

struct test v;//定义结构体变量v。

input(v);//输入。

output(v);//输出。

return 0;

}

c语言 定义结构体类型,分别编写函数实现复数的加、减运算,在主函数中调用这些函数进行计算并输出计算结

#include stdio.h  

struct complex  

{  

int re;  

int im;  

};  

void add(struct complex a, struct complex  b, struct complex *c)

{

c-re=a.re+b.re;

c-im=a.im+b.im;

}

void minus(struct complex a, struct complex  b, struct complex *c)

{

c-re=a.re-b.re;

c-im=a.im-b.im;

}

int main()  

{  

struct complex x,y,s,p;  

scanf("%d%d",x.re,x.im);  

scanf("%d%d",y.re,y.im);  

add(x,y,s); 

printf("   sum=%5d+%5di\n",s.re,s.im);  

minus(x,y,p);

printf("   product=%5d+%5di\n",p.re,p.im);  

return 0;  

}

建立一个结构体类型,编写c语言程序。

#include stdio.h

char *SubjectName[] = {"数学","物理","化学","生物","语文","外语","政治","历史","体育","美术","音乐"}; //科目名称列表 可调整顺序

#define SUBJECT 2 //科目数 可设定 1 - 11门,超过11门时得添加上行科目名称列表

#define STUDENTS_MAX 100 //最大可输入的学生数量 根据实际情况调整

typedef struct student{char name[12]; float core[SUBJECT+1];} Student;//最长姓名只许有五个汉字长度,超长会出错 改一下这个名字长度或规定名字最长5个字多余的不输入也成

Student Stu[STUDENTS_MAX]; //结构体数组 全局变量 虽可以不用全局的,要是你自己写了很多函数,都要访问它们,不如就让它们做全局变量的好

void main()

{

int total,i,j,k;

printf("请输入学生总数[1-%d]:",STUDENTS_MAX);

scanf("%d",total);

if(totalSTUDENTS_MAX){printf("超出设计总数了");exit(-1);}

else if(total1){printf("没有学生统计个屁呀"); exit(-1);}

printf("请输入学生成绩,格式:\n\t姓名 ");

for(j=0;jSUBJECT;j++) printf("%s ",SubjectName[j]);

printf("\n");

for(i=0;itotal;i++)

{

Stu[i].core[SUBJECT]=0.0;//平均分

printf("No.%-3d ",i+1);

fflush(stdin); //清输入缓冲区

scanf("%s %f",Stu[i].name,Stu[i].core[0]); //至少有一门科目的

for(j=1;jSUBJECT;j++) //其它科目 定义了多少就输入多少

{

scanf("%f",Stu[i].core[j]);

Stu[i].core[SUBJECT] += Stu[i].core[j];

}

Stu[i].core[SUBJECT] /= SUBJECT; //平均分 只是求了没有输出

}

printf("\n不及格情况统计:\n");

for(k=0,i=0;itotal;i++)

{

char putbuf[128],buf1[5];

int flag = 0;

strcpy(putbuf,Stu[i].name); //记下名字

for(j=0;jSUBJECT;j++)

if(Stu[i].core[j]60)

{

flag++;

strcat(putbuf," ");

strcat(putbuf,SubjectName[j]);//不及格的科目名称

strcat(putbuf,":");

sprintf(buf1,"%4.1f",Stu[i].core[j]);strcat(putbuf,buf1);//分数

}

if(flag)

{

printf("%s %d门不及格\n",putbuf,flag); //有不及格则输出

k++; //统计不及格人数

}

}

if(!k)

printf("没有不及格的学生");

else

printf("有不及格科目的学生个数:%d",k);

}

//常看到有要这类程序的,今天写一个,给大家参考,别天天上来要程序啊,仿照这个自己编吧

//程序在VC7.1下编译通过,测试运行正常

C语言下写有关结构体的函数

首先你要明确第4个的st并不是指针,并且结构体并不能直接给一个结构体,他不是基本类型。

第2个,的结构体是在堆里边的,需要,释放。

第3个是在栈中的变量。

要做链表的话一定要用2;一般的使用3即可。

第一个明显不合理,第一行分配的空间有什么用呢?

C语言在一个函数里面定义了一个结构体,怎么在另外一个函数里面使用?

在另外一个函数里面使用的源代码如下:

#include"stdio.h"

#include "conio.h" //-------添加这个头文件,因为getch()函数来自它,否则编译会有警告

struct student   /*定义结构体*/

{

void main()

{

void data_in(struct student putin[]);

void data_out(struct student *p);

void data_pout(struct student *s1);

data_in(pers);      /*调用指针输入函数*/

data_out(sp);     /*调用指针输出函数*/

data_pout(sp);   /*调用函数名输出函数*/

getch();

}

扩展资料

1、函数是C语言的基本组成元素,当我们调用一个函数时,需要明确函数名和实参列表。实参列表中的参数可以是常量、变量、表达式或者空,并且各参数之间要使用英文逗号分隔开来。

2、在C语言中,函数的定义是独立的,一个函数不能定义在另一个函数内部。但在调用函数时,可以在一个函数中调用另一个函数,这就是函数的嵌套调用。接下来我们通过一个案例来演示函数的嵌套调用。

C语言结构体编程

#includestdio.h

#includestring.h

#includestdlib.h

struct telephone

{

char name[10];

char telno[20];

};

void search(struct telephone b[], char *x, int n);

int main()

{

int i,n;

struct telephone b[100];

char nane[100];

for(i=0;;i++)

{

printf("Please input name:");

gets(b[i].name);

if(b[i].name[0]=='#')

break;

printf("Please input telephone:");

gets(b[i].telno);

}

n=i;

printf("Please input you want to find name:");

gets(nane);

search(b,nane[0],n);

return 0;

}

void search(struct telephone b[],char *x,int n)

{

int i;

int find=0;

for(i=0;in;i++)

{

if(strcmp(x,b[i].name)==0)

{

printf("the telephone is %s\n",b[i].telno);

find=1;

}

}

if(find==0)

printf("Not found!");

}


本文标题:定义结构体编写函数c语言,c语言 定义结构体
当前URL:http://myzitong.com/article/hcpded.html