使用free()函数时出现问题
|
我有一个C语言程序,经常使用
char *str[xx]
人员。
一些字符串是使用赋值运算符(=)填充的,不需要释放。
但是其他一些(在同一数组中)使用ѭ1填充,需要在程序结束时将其释放:
字符* str [10];
str [i] = \“ Hi \”;
str [k] = strdup(\“ hi \”);
两个字符串指针都不为null,释放str [i]自然会生成\“ seg fault \”。
我的问题是,在程序结束时,我没有跟踪哪个指针指向strdup()
生成的字符串。您能帮我找到由ѭ3generated生成的字符串吗,以便释放它们吗?
谢谢
没有找到相关结果
已邀请:
3 个回复
茶鬼失形
或
跟踪动态分配的内容。 您必须重构程序才能实现此目标。
枫湃揩乾纲
森含械
(或使用带有指针和标志的结构,该结构指示该特定指针是动态分配的)