1、区别一,能否重新赋值问题
对字符串指针方式
char *ps="C Language";
可以写为:
char *ps;
ps="C Language";
而对数组方式:
char st[]={"C Language"};
st = "xxx";
不能写为:
char st[20];
st={"C Language"};
2、区别二,存储的区别
而只能对字符数组的各元素逐个赋值。
当一个指针变量在未取得确定地址前使用是危险的,容易引起错误。但是对指针变量直接赋值是
可以的。因为C系统对指针变量赋值时要给以确定的地址。
因此,
char *ps="C Langage";
或者
char *ps;
ps="C Language";
|