我有一個C程序,經常使用char *str[xx]
工作人員。 某些字符串使用賦值運算符(=)填充,不需要釋放。 但一些其他(在同一陣列中),使用其strdup()
需要在節目的結束被釋放被填充:使用免費()函數的問題
字符* STR [10];
str [i] =「Hi」;
str [k] = strdup(「hi」);
字符串指針兩者都是非零,並釋放STR [1]將自然地產生「賽格故障」。 我的問題是,在我的程序結束時,我沒有跟蹤哪個指針指向由strdup()
生成的字符串。你能幫我怎麼找到由strdup
生成的字符串,以便我可以釋放它們嗎? 謝謝
沒有必要在程序結束時釋放strdup()內存。內存將在退出時自動釋放()。 – mark4o