char *a() {
char *t = malloc(8);
t[0] = 'a';
t[1] = 'b';
//...
t[7] = 'h';
return t;
}
int main(void) {
char *x = a();
//do something with x
//...
free(x);
return 0;
}
此代碼是否有任何潛在的問題,因爲內存分配在a()
和已用內存main()
?這是否使用C指針可以防止泄漏內存?
+1即使你錯過了從void void()中返回值的問題(我也幾乎錯過了,並且@Ed擊敗了我們所有人)。 – 2009-11-06 21:49:08
Ack - 好趕上! – 2009-11-06 21:51:57