关于网友提出的“ 请教有关一个指针的小问题”问题疑问,本网通过在网上对“ 请教有关一个指针的小问题”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 请教有关一个指针的小问题
描述: 有个顺序表的节点定义
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
好多和网络有关的应用程序就挂起了
不知道怎么回事
解决方案1: 一样的
如果我在主函数中写的这个
main()
{
seqlist bbb;//申请一个seqlist空间
seqlist *aaa;//声明一个seqlist指针
aaa=&bbb;//指针指向bbb地址
aaa->length=0;
}
是不是和这一段的效果是一样的啊
main()
{
aaa=(seqlist*)malloc(sizeof(seqlist));//分配一个seqlist大小的区域 由AAA指向
aaa->length=0;
}
解决方案2: 楼主指的是什么效果一样?
就aaa的最终结果是一样的
但第一段代码多申请了一个指针大小的内存
解决方案3: 一般相差不会太大,只是第二个程序应该后返回前加
free(aaa);
解决方案4: #include
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
#include
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
解决方案5: 恩,是一样的。。。
以上介绍了“ 请教有关一个指针的小问题”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3030044.html