C语言基础(二) 互动版

字符串指针与字符串数组的区别


  用字符数组和字符指针变量都可实现字符串的存储和运算。但是两者是有区别的。在使用时应注意以下几个问题:

  1) 字符串指针变量本身是一个变量,用于存放字符串的首地址。而字符串本身是存放在以该首地址为首的一块连续的内存空间中并以‘\0’作为串的结束。字符数组是由于若干个数组元素组成的,它可用来存放整个字符串。

  2) 对字符串指针方式

char *ps="C Language";

可以写为:

char *ps;
ps="C Language";

而对数组方式:

static char st[]={"C Language"};

不能写为:

char st[20];
st={"C Language"};

  而只能对字符数组的各元素逐个赋值。