当前位置:首页 » 编程语言 » c语言结构体函数大全
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言结构体函数大全

发布时间: 2023-06-29 16:14:36

① 关于c语言中的结构体数组作为函数参数传递的

1、结构体数组传给指针,实质上是不可能的,本质上传的是数组首地址,根据偏移来操作数组,这样看起来好像是真在操作数组一样。就和普通指针一样使用,只不过它是结构体数组。
2、例程:

typedefstructStudent
{
charname[10];
intage;
}Student;
#defineLEN10
//printallStudentinfomation
voidfun(Student*pStu,intlen)
{
inti;
for(i=0;i<len;++i)
{
printf("%s %d",pStu[i].name,pStu[i].age);
}
}
intmain()
{
Studentstu[LEN];
fun(stu,LEN);

}

② c语言中,如何在结构体中实现函数的功能

c语言的结构体是一组数据的组合,并不是简单的单一类型。所以在查找和输出的时候,均不能直接操作,而是要进行变通。
1
查找。
对于以某一项为关键字进行查找时,比如在结构体中有int型的成员a,要查找a为100的结构体变量,这时需要遍历每个结构体(数组、链表、或者其它任意形式),对每个元素的成员a值进行比较,符合的则表示查找成功。
对于结构体中元素较多,同时要对整个结构体每个元素都匹配才算查找到的特殊情况,可以使用memcmp的方式,整体进行比较,以减少代码量。不过这种情况较为少见,不过多描述。
2
输出。
对于结构体的输出,其实就是对其每一项,或者若干项成员变量的输出。
所以可以使用基本的输出函数,对每一项单独输出,输出中为了方便阅读,可以加一些说明文字。
如果对结构体输出有多处调用的需求,可以在将该功能封装为函数,供各个需要的函数调用。这样的好处是,当结构体的成员出现变化,或者结构体输出要求更改时,修改一处代码即可完成所有的输出修改,实现易于维护的效果。

③ C语言结构体编程

#include<stdio.h>

#include<stdlib.h>

typedef struct

{

char num[10];

int s;


}strec;

int N;

int fun(strec*a,strec*b)

{

int i,j=0;

strec max;

for(i=0;i<N;i++)

{

printf("输入姓名:");

scanf("%s",a[i].num);

printf("输入分数:");

scanf("%d",&a[i].s);

}

max=a[0];

for(i=0;i<N;i++)

if(max.s<a[i].s)

max=a[i];

for(i=0;i<N;i++)

if(max.s==a[i].s)

{ b[j]=a[i];

j++;

}

for(i=0;i<j;i++)

{

printf("%s ",b[i].num);

printf("%d",b[i].s);

printf(" ");

}


return j;





}

void main()

{

strec *a,*b;

int n;

printf("input N:");

scanf("%d",&N);

a=(strec*)malloc(N*sizeof(strec));

b=(strec*)malloc(N*sizeof(strec));

n=fun(a,b);

printf("最高分有%d人 ",n);


}

采纳时多给点分!桥这么多代码不容易啊!

④ c语言结构体有哪些

如下:

第一种:只有结构体定义:

1. struct stuff{

2.char job;

3. int age;

4. float height;

5. };

第二种:附加该结构体类型的“结构体变量”的初始化的结构体定义:

1. //直接带变量名Huqinwei

2. struct stuff{

3. char job[20];

4. int age;

5. float height;

6. }Huqinwei;

也许初期看不习惯容易困惑,其实这就相当于:

1. struct stuff{

2. char job;

3. int age;

4. float height;

5. };

6. struct stuff Huqinwei;

第三种:如果该结构体你只用一个变量Huqinwei,而不再需要用。

struct stuff yourname; 去定义第二个变量。那么,附加变量初始化的结构体定义还可进一步简化出第三种:

1. struct{2. char job;

3. int age;

4.float height;

5. }Huqinwei;