一个c语言程序是由_一个c语言程序的很小很小问题?

原问题:一个c语言程序的很小很小问题?
分类:编程开发 > 最后更新时间:【2017-01-16 09:18:24】
问题补充:

我有以下一个c语言程序:

#include <stdio.h>

#include <stdlib.h>

typedef struct person

{

int id;

char name[64];

int age;

}person;

void printdata(person *sourcedata)

{

printf("id=%d\n",sourcedata->id);

printf("name=%s\n",sourcedata->name);

printf("age=%d\n",sourcedata->age);

printf("_______________________________________________\n");

}

void copydata(person *from,person *to)

{

*to = *from;

}

void sortagedata(person *sourcedata,int sourcelen)

{

}

void main()

{

person per1={1,"lili",22},per2={2,"wuwu",25},per3={3,"xiaoxiao",20},per4={4,"bigbig",29},per5={5,"xiaowu",23};

person *p1,*p2;

person per6;

person *perarray;

int num = 6,i = 0;

perarray = (person *)malloc(sizeof(person)*num);

copydata(&per1,&per6);

perarray[0] = per1;

perarray[1] = per2;

perarray[2] = per3;

perarray[3] = per4;

perarray[4] = per5;

perarray[5] = per6;

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

{

printf("第%d个数组的数据是:\n",i+1);

printdata(&perarray[i]);

}

system("pause");

}

输出结果也是我想要的,但是在进行perarray数组赋值时即:

perarray[1] = per2;

perarray[2] = per3;

perarray[3] = per4;

perarray[4] = per5;

perarray[5] = per6;

我个人认为也没有错误,但是效率不高,假如我有一万个数据赋值给perarray这个数组,我就要做一万行这样的语句,有什么办法用循环或者其它办法可以使有一万个数据只要写几行语句就能实现给一万个数据赋值给perarray这个数组?

最佳答案

unsigned int i = 0, j = 10000;

person per[j][]={{1,"lili",22},{2,"wuwu",25}......}

for(; i<j; i++)

{

perarray[i] = per[i];

}

最佳答案由网友  360U2553367813  提供
公告: 为响应国家净网行动,部分内容已经删除,感谢网友理解。
9

分享到:

其他回答

暂无其它回答!

    推荐