當前位置:首頁 » 編程語言 » 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;