/* DECLARED FUNCTIONS */
char *DetectDevice(void);
int main(int argc, char *argv[])
{
char *PathToDevice;
PathToDevice = DetectDevice();
...
if(close(fd) == -1)
{
printf("Error Closing Port");
}else
{
printf("whihi!");
free(PathToDevice);
}
return 0;
}
char *DetectDevice(void)
{
char *Usbs = malloc(1024);
Usbs = "/dev/ttyUSB1";
return Usbs;
}
错误消息:* glibc的检测* ./test:免费():无效的指针:0xbec1b504为什么我得到错误无效指针?
的方式......这个程序被编译在树莓派!
它不仅给你一个运行时错误,我敢打赌,编译器为您提供了一个关于“始乱终弃预选赛”与此代码藏汉警告。听听警告。 – junix
重复的http://stackoverflow.com/questions/11075697/segmentation-fault-when-free-is-used – anishsane
不是真的重复....这里的结构也很重要! – Christian