我与动态存储器工作在C.我正在写一个小函数应Malloc试图解决0x0?
- 接受字符串(一个char *)作为参数;
- 用malloc为该字符串分配内存,将其复制到内存中;和
- 返回新分配的字符串。
我的程序给出一个分段错误。根据GDB,我的程序在这个函数上失败了,因为显然它试图对地址0x0执行某些操作(?)。 这就是GDB说:
#0 0x00007ffff7b7c3c1 in __strlen_sse2_pminub() from /lib64/libc.so.6
#1 0x00000000004008fc in new_line (line=0x0) at myfile.c:35
任何人都可以提供对malloc的原因似乎根据我的职能被退回,和0x0搞乱,一些见解?我看不到它。
请发表[MCVE] – CollinD
咦?堆栈跟踪显示,*** strlen ***不是malloc正在寻址0x0。 – immibis
错误消息显示'(line = 0x0)'这意味着您向该函数传递了一个NULL指针。 – user3386109