使用字符串指針變量與字符數組的區別

  • 2017-10-19
  • 56

西安網站建設 使用字符串指針變量與字符數組的區別

    用字符數組和字符指針變量都可實現字符串的存儲和運算。但是兩者是有區別的。在使用時應注意以下幾個問題:

字符串指針變量本身是一個變量,用於存放字符串的首地址。而字符串本身是存放在以該首地址為首的一塊連續的內存空間中並以‘\0作為串的結束。字符數組是由於若幹個數組元素組成的,它可用來存放整個字符串。

對字符串指針方式

char *ps="C Language";

可以寫為:

    char *ps;

ps="C Language";

而對數組方式:

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

不能寫為:

    char st[20];

    st={"C Language"};

而隻能對字符數組的各元素逐個賦值。

     從以上幾點可以看出字符串指針變量與字符數組在使用時的區別,同時也可看出使用指針變量更加方便。

前麵說過,當一個指針變量在未取得確定地址前使用是危險的,容易引起錯誤。但是對指針變量直接賦值是可以的。因為C係統對指針變量賦值時要給以確定的地址。

因此,

    char *ps="C Langage";

或者

    char *ps;

    ps="C Language";

都是合法的。

西安網站建設

使用字符串指針變量與字符數組的區別——西安做網站-www.xgktgj.com