/* 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