C语言中对变量的处理(请教了……)
下面是写的程序里调用的一个子函数,其中la的类型是如下的结构体 (编译环境,vc6.0)
struct link
{
Type* base;
int length;
int size;
};
其中,la->base中的数据元素是{1,3,5,7,9,11,13,15,17};la->length=9;la->size=100;
现在我想把la中的数据打印出来,Show(la);
void Show(link* m)
{ //注一
int no=0;
while(no< *m->length)
printf("%d ",m->base[no++]);
};
可是问题就出来了,结果打印的是一串 -858993460,郁闷的很
而且,在逐步调试中,当执行到注一那块的时候,m->base中的数据还对着呢,一摁F10,马上就翻脸了!!变成了上面那个数了。
是不是我的调用有什么问题,或者在调用子函数的时候,恩……,重新开辟了空间给m,而又没有给其中的base初始化,所以就成这了??
先谢谢大侠们了,我对这不是很了解
还有,哪位大侠能否指教下,在程序新生成变量,比如变量定义,函数调用等地方,程序在做些什么??怎么在内存中存储这个变量,空间开辟的情况是咋样的。给俩链接也行,我在有些地方零星见过些,可是没有个系统的了解,模糊的很