calloc函数的使用

Rookiekk Rookiekk 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
fun()函数的功能:对N名学生成绩从高到低排名找出前m名了。并将数据反正一个动态分配的连续存储区中,此存储区首地址作为函数值返回。
typedefine struct ss{
char num[10];
int s;
}STU;
STU *fun(STU a[ ],int m)
{
STU b[N],*t;
int i,j,k;

t=(STU *)calloc(m,sizeof(STU));
for(i=0;i<N;i++)
b[i]=a[i];
for(k=0;k<m;k++)
{
for(i=j=0;i<N;i++)
if(b[i].s>b[j].s)
j=i;
t[k].num=b[j].num; //答案说是t[k]=b[j]
t[k].s=b[j].s;b[j].s=0;
}
}
有两个问题,1.这个程序有错误,正如注释那里,他那部的操作我感觉不对啊,求大神解释
2.calloc() 这个函数分配的地址可以用 t[0],t[1].....t[k],这样来表示这个地址的每一块?这是怎么解释的?求大神讲解
...全文

相关推荐

评论 2
收藏 已收藏
分享
返回顶部
Rookiekk
C语言 70,040 成员 243,237 内容