+ -
当前位置:首页 → 问答吧 → 这个程序为什么会出现段错误???

这个程序为什么会出现段错误???

时间:2010-08-06

来源:互联网

  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<time.h>
  4. int main()
  5. {
  6.     long int time1;
  7.     time1=(long int)malloc(8);
  8.     time(&time1);
  9.     printf("%ld\n",time1);
  10.     free(&time1);
  11. }
复制代码
什么是段错误啊?昨天也遇到的,解决了,今天又遇到了~~

作者: 逍遥e神   发布时间: 2010-08-06

malloc返回的是分配空间的首地址,应该赋值给指针,另外并不是所有的long int 都是 8字节,起码我机器上只有4字节。

作者: davelv   发布时间: 2010-08-06

本帖最后由 okocha-jay 于 2010-08-06 11:39 编辑

free(&time1);

改为
free(time1);

也不对,time1后来被修改了
用一个long来保存指针值也比较少见。不知你这里malloc有什么用

作者: okocha-jay   发布时间: 2010-08-06

long int time1;
time1=(long int)malloc(;

=====
还能这样搞啊......
malloc不是返回的是地址么.

作者: pandaiam   发布时间: 2010-08-06

lz的基础需要加强啊,粗略看一下,至少有两个地方lz需要去了解:
1,变量的声明和定义,
2,malloc的用法,学会如何去man  malloc

作者: asdmonster   发布时间: 2010-08-06

  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<time.h>
  4. int main()
  5. {
  6.     long int time1;
  7.     long int *p;
  8.     p=&time1;
  9.     p=(long int*)malloc(8);
  10.     time(&time1);
  11.     printf("%ld\n",time1);
  12.     free(p);
  13. }
复制代码
我这样改了下  就没问题了!

郁闷  malloc返回一定要是指针!!!

作者: 逍遥e神   发布时间: 2010-08-06

本人菜鸟   N久没碰c语言了  求指教啊~~

作者: 逍遥e神   发布时间: 2010-08-06



QUOTE:
lz的基础需要加强啊,粗略看一下,至少有两个地方lz需要去了解:
1,变量的声明和定义,
2,malloc的用法 ...
asdmonster 发表于 2010-08-06 11:38




   LZ 需要基础!

作者: lqq_1229   发布时间: 2010-08-06

没看出楼主malloc的内存有什么作用。

作者: davelv   发布时间: 2010-08-06

段错误一般是指针不知道该往哪指。

作者: acer1025   发布时间: 2010-08-06



QUOTE:
lz的基础需要加强啊,粗略看一下,至少有两个地方lz需要去了解:
1,变量的声明和定义,
2,malloc的用法 ...
asdmonster 发表于 2010-08-06 11:38



LZ对指针用不明白
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<time.h>
  4. int main()
  5. {
  6.     long int *time1 = NULL;
  7.     if ((time1=(long int)malloc(8) == NULL) return -1;
  8.     time(time1);
  9.     printf("%ld\n",*time1);
  10.     free(time1);
  11. }
复制代码

作者: zhangsuozhu   发布时间: 2010-08-06



QUOTE:
LZ对指针用不明白
zhangsuozhu 发表于 2010-08-06 12:52



兄弟,我们这些代码工人的基本功之一,就是要仔细,唉。

作者: asdmonster   发布时间: 2010-08-06

相关阅读 更多

热门下载

更多