c语言中结构函数 c语言函数结构体

C语言结构体类型函数void f(Ac)/*注意c语言中结构函数:c结构变量名但这个c也是个复制品c语言中结构函数,与原实参只是一样c语言中结构函数的内容,却不是同一个?。?*/所以结果还是a={1,2}c语言中结构函数; 答案为B
C语言——结构体/函数#include stdio.h
#include string.h
#define N (5)
struct STUDENT
{
char name[20];
int age;
float chinese,math;
};
void scan(struct STUDENT *a,int n);
void print(struct STUDENT *a,int n);
void sort(void *a,int n,int size,int (*cmp)(void *,void *));
int cmp_score(void *a,void *b);
int cmp_chinese(void *a,void *b);
int cmp_name(void *a,void *b);
int main()
{
struct STUDENT a[N];
int i;
scan(a,N);
sort(a,N,sizeof(*a),cmp_score);
print(a,N);
sort(a,N,sizeof(*a),cmp_chinese);
print(a,N);
sort(a,N,sizeof(*a),cmp_name);
print(a,N);
return 0;
}
void scan(struct STUDENT *a,int n)
{
int i;
for(i=0;in;i)
{
scanf("\n%s %d %f %f",a[i].name,a[i].age,a[i].chinese,a[i].math);
}
}
void print(struct STUDENT *a,int n)
{
int i;
for(i=0;in;i)
{
printf("%s %d %f %f\n",a[i].name,a[i].age,a[i].chinese,a[i].math);
}
}
void sort(void *a,int n,int size,int (*cmp)(void *,void *))
{
【c语言中结构函数 c语言函数结构体】int i,j;
void *t=malloc(size);
for(i=0;in-1;i)
{
for(j=0;jn-i-1;j)
{
if(cmp(a size*j,a size*(j 1)))
{
memcpy(t,a size*j,size);
memcpy(a size*j,a size*(j 1),size);
memcpy(a size*(j 1),t,size);
}
}
}
free(t);
}
int cmp_score(void *a,void *b)
{
return ((struct STUDENT *)a)-chinese ((struct STUDENT *)a)-math((struct STUDENT *)b)-chinese ((struct STUDENT *)b)-math;
}
int cmp_chinese(void *a,void *b)
{
return ((struct STUDENT *)a)-chinese((struct STUDENT *)b)-chinese;
}
int cmp_name(void *a,void *b)
{
return strcmp(((struct STUDENT *)a)-name,((struct STUDENT *)b)-name)0;
}
C语言结构体函数STUf (STUa)
{STUb={"Zhao",'m',85,90};
inti;
strcpy( a.name, b.name );
a.sex = b.sex;
for ( i=0; i2; i++ )a.score[i] = b.score[i];
以上是将b中的数据赋值给a,相当于a=b;这样的一个操作
returna;
}
main()
{STUc= { "Qian" , 'f',95,92 },d;
d = f(c);//这里传的c是个复制品(传递的不是结构体指针),所以c不会变 , d接收f()函数的返回值,因为返回值的内容是f()中的b的值 , 所以,d与c不同
printf ("%s , %c,%d,%d,",d.name , d.sex,d.score[0] , d.score[1]);
printf ("%s , %c,%d , %d\n", c.name , c.sex,c.score[0],c.score[1]);
}
输出结果为:A)Zhao , m,85,90,Qian , f,95,92
说明一下C语言函数的基本结构 , 谢谢!C语言程序结构的特点是顺序结构、选择结构、循环结构 。
1、顺序结构,默认的流程结构 , 按照书写顺序执行每一条语句 。
2、选择结构 , 对给定的条件进行判断,再根据判断结果来决定执行那一段代码 。
3、循环结构,在给定条件成立的情况下,反复执行某一段代码 。只有满足条件是才会执行循环体,特别注意是否进入了死循环 。
扩展资料
C语言程序设计还能帮助我们学习其它计算机语言如我们熟悉的java语言vb语 言的设计,因此C语言是初学者必备的语言 。
冯.诺依曼在1945年提出了现代计算机的若干思想,被后人称为冯.诺依曼思想,这是计算机发展史上的里程碑 。自1945 年至今大多采用其结构,因此冯.诺依曼被称为计算机之父 。
他的体系结构计算机由运算器,控制器,存储器,输入设备,输出设备五大部件构成 。C语言拥有一套完整的理论体系经过了漫长的发展历史,在编程语言中具有举足轻重的地位 。
参考资料来源: 百度百科—c语言
参考资料来源:百度百科-c语言程序设计
c语言中结构函数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言函数结构体、c语言中结构函数的信息别忘了在本站进行查找喔 。

    推荐阅读