當前位置:首頁 » 編程語言 » c語言結構體中函數

c語言結構體中函數

發布時間: 2023-08-14 22:43:23

❶ 在C語言中struct結構體裡面 不能定義函數么

c中不能,c++里可以在結構體內定義函數,用法和class定義類是一樣旦閉的,說穿掘賀了struct 和 class用法相同,但要注意的一點是,struct默認的是public類型,而class默認的是private類型判遲派的

❷ C語言結構體函數的返回值是結構體結構體變數中的信息

你說的這種情況,函數返回的是整個結構體,無論這個結構體中包含了多少個成員,一個結構體就只是一個變數(結構體本身就是一個變數,無論它包含了多少個成員)。這樣,函數返回一個結構體就意味著函數把結構體中所有的成員都返回了。C語言函數的確只能有一個返回值,用返回結構體的方式就很好地解決了需要返回多個返回值的問題。
return後面沒有0或1,說明這個函數是void類型的,這類函數本來就不需要有返回值,這里的return的意思並不是要返回某個值,而是退出這個函數的意思。

❸ C語言——結構體/函數

#include<stdio.h>
#include<string.h>

#defineN(5)

structSTUDENT
{
charname[20];
intage;
floatchinese,math;
};

voidscan(structSTUDENT*a,intn);
voidprint(structSTUDENT*a,intn);

voidsort(void*a,intn,intsize,int(*cmp)(void*,void*));
intcmp_score(void*a,void*b);
intcmp_chinese(void*a,void*b);
intcmp_name(void*a,void*b);

intmain()
{
structSTUDENTa[N];
inti;
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);
return0;
}

voidscan(structSTUDENT*a,intn)
{
inti;
for(i=0;i<n;++i)
{
scanf(" %s%d%f%f",a[i].name,&a[i].age,&a[i].chinese,&a[i].math);
}
}

voidprint(structSTUDENT*a,intn)
{
inti;
for(i=0;i<n;++i)
{
printf("%s%d%f%f ",a[i].name,a[i].age,a[i].chinese,a[i].math);
}
}

voidsort(void*a,intn,intsize,int(*cmp)(void*,void*))
{
inti,j;
void*t=malloc(size);
for(i=0;i<n-1;++i)
{
for(j=0;j<n-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);
}

intcmp_score(void*a,void*b)
{
return((structSTUDENT*)a)->chinese+((structSTUDENT*)a)->math<((structSTUDENT*)b)->chinese+((structSTUDENT*)b)->math;
}

intcmp_chinese(void*a,void*b)
{
return((structSTUDENT*)a)->chinese<((structSTUDENT*)b)->chinese;
}

intcmp_name(void*a,void*b)
{
returnstrcmp(((structSTUDENT*)a)->name,((structSTUDENT*)b)->name)>0;
}

熱點內容
ps4密碼是多少 發布:2025-03-18 12:35:31 瀏覽:693
女皮鞋解壓 發布:2025-03-18 12:03:32 瀏覽:897
微信注冊密碼忘記怎麼辦啊 發布:2025-03-18 12:01:23 瀏覽:885
雲終端買什麼伺服器 發布:2025-03-18 11:13:13 瀏覽:987
比分網源碼 發布:2025-03-18 11:00:22 瀏覽:750
不顯示腳本錯誤 發布:2025-03-18 10:58:14 瀏覽:417
網路攝像頭與伺服器怎麼搭建 發布:2025-03-18 10:51:49 瀏覽:554
java區塊鏈 發布:2025-03-18 10:35:54 瀏覽:368
私自搭建伺服器盈利違法么 發布:2025-03-18 10:32:33 瀏覽:7
os壓縮文件 發布:2025-03-18 10:26:54 瀏覽:866