读书人

数组赋值有关问题

发布时间: 2012-04-08 14:38:30 作者: rapoo

数组赋值问题,,,急啊
用一个数组和一个int作为函数的参数,在函数中根据int的值和数组,对另一个数组中小于这个int的元素进行赋值,后面的数组元素也被赋了一些无意义的值?为什么?
定义一个:
struct structed{
char name[16];
.
.
.
int csize;
};
structed myinfo[20];
如 void setvalue(structed info[20],int count)

for(int i=0;i<count;i++)
{
sprintf(myinfo.ownname,"%s",info[i].name);
}
比如count=5时,前5 个赋值正确,后面的却是无意义的值,但myinfo[20]中的每一个ownnam[16]之前已经初始化为空了

[解决办法]
编程还得要细心滴
[解决办法]
你把要传入的数组定义成全局变量试试,应该是默认的都是零,也就是不用初始化了.对于局部变量,没有默认初始化,所以是随机值.不过这和编绎器有关
[解决办法]
你声明变量的时候系统会为变量分配内存,你不初始化的话,内存里存放的是系统随机分配的数据,相当于变量是存放在栈区,由编译器自动分配释放内容 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。
[解决办法]

探讨
引用:
ownname是什么?怎么定义的?


我又打错了,应该是这样子的
sprintf(myinfo[i].name,"%s",info[i].name);

读书人网 >VC/MFC

热点推荐