请教有关一个指针的小问题

slatly 2006-07-15 03:48:26
有个顺序表的节点定义
typedef struct{
int data[100];
int length;
}seqlist;

如果我在主函数中写的这个
main()
{
seqlist bbb;
seqlist *aaa;
aaa=&bbb;
aaa->length=0;
}
是不是和这一段的效果是一样的啊
main()
{
aaa=(seqlist*)malloc(sizeof(seqlist));
aaa->length=0;
}

情大家帮帮忙看看
TC2好像在2000下面不是太好用啊
我在命令提示符下运行了TC2
好多和网络有关的应用程序就挂起了
不知道怎么回事
...全文
141 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
nysst_hxl 2006-07-15
  • 打赏
  • 举报
回复
前一个申请的空间在栈区,后一个在堆区
chenhu_doc 2006-07-15
  • 打赏
  • 举报
回复
不好意思,习惯问题。。。。


free(aaa);
莫言 2006-07-15
  • 打赏
  • 举报
回复
一样的
如果我在主函数中写的这个
main()
{
seqlist bbb;//申请一个seqlist空间
seqlist *aaa;//声明一个seqlist指针
aaa=&bbb;//指针指向bbb地址
aaa->length=0;
}
是不是和这一段的效果是一样的啊
main()
{
aaa=(seqlist*)malloc(sizeof(seqlist));//分配一个seqlist大小的区域 由AAA指向
aaa->length=0;
}
Dong 2006-07-15
  • 打赏
  • 举报
回复
一般相差不会太大,只是第二个程序应该后返回前加

free(aaa);
Qyc0123 2006-07-15
  • 打赏
  • 举报
回复
楼主指的是什么效果一样?
就aaa的最终结果是一样的
但第一段代码多申请了一个指针大小的内存
chenhu_doc 2006-07-15
  • 打赏
  • 举报
回复
#include <stdio.h>

typedef struct{
int data[100];
int length;
}seqlist;

int main()
{
seqlist bbb;
seqlist *aaa;
aaa=&bbb;
aaa->length=0;
printf("%d\n",aaa->length);
return 0;
}



#include <stdio.h>
#include <malloc.h>

typedef struct{
int data[100];
int length;
}seqlist;

int main()
{
seqlist *aaa=(seqlist*)malloc(sizeof(seqlist));
aaa->length=0;
printf("%d\n",aaa->length);
return 0;
}
//在vc上都调试成功,输出均为0
chenhu_doc 2006-07-15
  • 打赏
  • 举报
回复
恩,是一样的。。。

69,371

社区成员

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

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