嗯buf指向了常量,属于常量指针,buf指向的地址的值不能被改变,而你意图给buf指向的常量区赋值。将*buf = "nihaoma";改为buf[] = "nihaoma";即可
char *buf = "nihaoma";改成char buf[] = "nihaoma";前者"nihaoma"放在了常量区,值不能被改变。