C语言的简单指针问题

img


【问题1】该例定义部分,为什么b不能和a一样直接定义成字符指针变量,而是先定义成字符数组后再定义字符指针变量指向b。
【我的尝试】我将a,b都定义成指针变量


char *a="I love china";
char *b="hello world";

【问题2】但是这里系统给出了warning, deprecated conversion from string constant to ‘char*’。所以要两个都改成字符数组,然后用指针变量指向数组吗?那这样上面课本例题是否有错呢?
非常感谢您的解答!谢谢!

问题1
可以的
问题2
书上没有错,你看看你的后缀是不是cpp,改成.c后缀或者写成这样char * a=(char *)"i love china";