C语言中对变量的处理(请教了……)

mwx285 2007-12-02 01:47:09
下面是写的程序里调用的一个子函数,其中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初始化,所以就成这了??
先谢谢大侠们了,我对这不是很了解
还有,哪位大侠能否指教下,在程序新生成变量,比如变量定义,函数调用等地方,程序在做些什么??怎么在内存中存储这个变量,空间开辟的情况是咋样的。给俩链接也行,我在有些地方零星见过些,可是没有个系统的了解,模糊的很
...全文
86 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
mwx285 2007-12-02
  • 打赏
  • 举报
回复
哦,忘了,那是整型的
http://topic.csdn.net/u/20071202/14/a41cada2-2987-46ef-a09e-b7adafb7cc01.html?seed=177105717
这是我重新发的,这张帖打错了一个地方,不好意思
yangyong2004876 2007-12-02
  • 打赏
  • 举报
回复
struct link
{
Type* base;
int length;
int size;
};

TYPE 具体是什么类型?
这块可能有问题
mwx285 2007-12-02
  • 打赏
  • 举报
回复
我把这张帖子结了哈,另发了一张一样
不能误导别大侠们…………
我的错
mwx285 2007-12-02
  • 打赏
  • 举报
回复
恩,刚才试了,还是一样,那块好像是自己打错了,呵呵…………
还有,刚才调试的时候,发现最后 la的值也被改变了,它里面的 base值也变成了那一堆数字,在哪变的??????
一样,谢谢…………
Thinkingking 2007-12-02
  • 打赏
  • 举报
回复
while(no < *m-> length)
改为
while(no < m-> length)
mwx285 2007-12-02
  • 打赏
  • 举报
回复
好像不行,
有错:error C2100: illegal indirection
调试的时候,查看变量值那里输入m->base[1],结果是对的,3,应该不是这个问题
还是谢谢了
xalangying 2007-12-02
  • 打赏
  • 举报
回复
你输出的是指针
改为
void   Show(link*   m) 
{ //注一
int no=0;
while(no < *m-> length)
printf("%d ", *(m->base[no++]));
};

70,020

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧