|

楼主 |
发表于 2004-8-21 01:58:18
|
显示全部楼层
- main()
- {
- int i;
- struct stu
- {
- int num;
- char *name;
- char sex;
- float score;
- } *ps;
-
- for (i=1;i>0;i++) {
-
- ps=(struct stu*)malloc(sizeof(struct stu));
- ps->num=102;
- ps->name="Zhang ping";
- ps->sex='M';
- ps->score=62.5;
- printf("Number=%d\nName=%s\n",ps->num,ps->name);
- printf("Sex=%c\nScore=%f\n",ps->sex,ps->score);
- //free(ps); 如果将这里禁止掉
- }
- }
复制代码
这里添加个for,让它死循环下去,会不会将内存给站光了 ?
我运行了10分钟没死机, ??
ps=(struct stu*)malloc(sizeof(struct stu));这句每for一次,会不会多占用一次内存,因为后面没用free释放 ?
ps=(struct stu*)malloc(100000000);
这里改成这样的话,运行一下子就变成Segmentation fault
我思想哪里出错了 ?? 高手请指出,,,谢谢你们 |
|