由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 请教函数 INIT 怎么能free memory
相关主题
这段C++程序有错吗?how to destruct list with loop?
pointer to function非 interview question
两个继承问题问一个private destructor的问题
请教如何初始化这个C data structure Steque的object?门外汉求教 return statement用法
C++弱问how to initialize this struct.
[合集] 一道M$面试题的解法... (转载)a simple question for C++ class
c ptr question为啥有人喜欢把_s结尾的结构typedef成_t结尾的,有讲究么?
用c怎么实现generic stack (转载)请问一个exception题目
相关话题的讨论汇总
话题: temp话题: init话题: free话题: stack话题: int
进入Programming版参与讨论
1 (共1页)
s******7
发帖数: 1091
1
请教函数 INIT 怎么能free temp
把 free(temp) 放在 return 0; 后不可以吗?
我试着把free(temp) 放在 return 0; 前面. 总会报错
象这种情况是不是不需要 free(temp)?
#include
using namespace std;
typedef struct stackT{
int value;
struct stackT *next;
} stack;
int init(stack **head, int j){
int i;
stack *temp;
temp=NULL;
for (i=1;i<(j+1);i++){
temp=(stack *)malloc(sizeof(stack));
temp->value=i;
temp->next=*head;
*head=temp;
}
return 0;
free(temp); //问题出在这里
i******r
发帖数: 323
2
这种情况不需要free temp,因为temp指向stack的最后一个元素。
一般来说return 0以后的语句不会被执行到。

【在 s******7 的大作中提到】
: 请教函数 INIT 怎么能free temp
: 把 free(temp) 放在 return 0; 后不可以吗?
: 我试着把free(temp) 放在 return 0; 前面. 总会报错
: 象这种情况是不是不需要 free(temp)?
: #include
: using namespace std;
: typedef struct stackT{
: int value;
: struct stackT *next;
: } stack;

1 (共1页)
进入Programming版参与讨论
相关主题
请问一个exception题目C++弱问
关于 VC++ vitual, reload 和 derive的一个问题...[合集] 一道M$面试题的解法... (转载)
sizeof()的问题c ptr question
发个初级面试题用c怎么实现generic stack (转载)
这段C++程序有错吗?how to destruct list with loop?
pointer to function非 interview question
两个继承问题问一个private destructor的问题
请教如何初始化这个C data structure Steque的object?门外汉求教 return statement用法
相关话题的讨论汇总
话题: temp话题: init话题: free话题: stack话题: int