【发布时间】:2010-12-01 12:15:42
【问题描述】:
- 我有这个函数,它从 main() 调用了大约 1000 次。当我使用 malloc() 在这个函数中初始化一个指针时,会发生段错误,可能是因为我在离开函数之前没有 free() 它。现在,我在返回 main 之前尝试了 free() 指针,但它没有用,最终发生了 seg 错误。
- 上述场景是一回事,我如何初始化双指针 (**ptr) 和指向指针数组的指针 (*ptr[])?
- 有没有办法将一个字符串(它是一个 char 数组)复制到一个 char 指针数组中。 字符 arr[]; (假设有五十个这样的数组) 字符 *ptr_arr[50];现在我想在 *ptr_arr[] 中指向每个这样的 char arr[] 如何在这里初始化 char *ptr_arr[]?
- C 中未初始化的指针有什么影响?
- strcpy() 是自己附加 '\0' 还是我们必须手动附加? strcpy() 与 strncpy() 相比有多安全?与 strcat() 和 strncat() 一样。
谢谢。
【问题讨论】:
-
提供源代码通常很有帮助。
-
请发布您的失败代码,以便我们向您展示您出错的地方。
-
最好使用minimal 的源代码示例。最小的一点就是完整的问题。
-
如果您使用的是 Linux 或 OSX,我建议您通过 Valgrind/memcheck 运行您的代码以跟踪 1。
标签: c pointers string segmentation-fault