第十节 字符串指针变量与字符数组的区别(十一)
生活随笔
收集整理的這篇文章主要介紹了
第十节 字符串指针变量与字符数组的区别(十一)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
用字符數組和字符指針變量都可實現字符串的存儲和運算。但是兩者是有區別的。在使用時應注意以下幾個問題:
1) 字符串指針變量本身是一個變量,用于存放字符串的首地址。而字符串本身是存放在以該首地址為首的一塊連續的內存空間中并以‘\0’作為串的結束。字符數組是由若干個數組元素組成的,它可用來存放整個字符串。
2) 對字符串指針方式
? ? 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";
都是合法的。
轉載于:https://www.cnblogs.com/chunlanse2014/articles/4396094.html
總結
以上是生活随笔為你收集整理的第十节 字符串指针变量与字符数组的区别(十一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于Metasploit开发环境的搭建
- 下一篇: 转:Merge into的使用详解