當我嘗試編譯以下C代碼時,出現總線錯誤。 我猜測它與我調用memcpy的方式有關,但是我無法弄清楚。 任何幫助將不勝感激!總線錯誤:10. C代碼,malloc示例
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
char *p = (char*)malloc(sizeof(char)*11);
// Assign some value to p
p = "hello";
char *name = (char*)malloc(sizeof(char)*11);
// Assign some value to name
name = "Bye";
memcpy (p,name,sizeof(char)*10); // Problem begins here
return 0;
}
其他註釋:[不要強制malloc的返回值](http://stackoverflow.com/questions/605845/)。當爲此目的而存在'strncpy'和類似的函數時,爲什麼你使用'memcpy'來複制*字符串? – DCoder 2012-04-21 04:56:24