字符串指针的指向区别:
#include <stdio.h>
#include <string.h>
int main()
{
char st[20],*ps;
ps = st;
scanf("%s", ps);
puts(st);
/*
ps = "hello";
puts(st);
*/
return 0;
}
运行注释里面程序代码的结果截图:注意到结果为空,也就是没有将hello赋值成功给字符数组,前者可以赋值成功是因为ps是指向st数组的首地址,对ps所指向的地址空间进行赋值,而后者,ps指向了“hello”字符串的首地址,指向的空间发生变化,所以赋值不成功