字符串和字符數組的區別是什么? 及下標越界,指針下標


字符串:必須以'\0'結尾;                                 //  ‘ \0 ’ 的意義是“字符串結束符”。

字符數組:可以包含多個'\0',但是如果當做字符串處理,則實際有效字符串為第一個'\0'的簽名的字符串,如果當做字符數組處理,可以處理字符數組的任何一個字符,所有的字符都可以是'\0'。

假設一個字符指針指向字符串“aaaaaa”,如果通過指針下標是第三個a為'\0',則字符指針就只有三個長度,如果你的下標超過3則越界,字符數組只要不超過數組大小就不越界。

(就是超過數組下標范圍,比如,你聲明數組a時的最大下標是15,出來一個a(16),就是下標越界

(指針使用下標時,可以理解為數組.例如:
   char *p = "abcdef";
   此時p[2]值 為'c'.而p表示字符串"abcdef"的首地址,*p的值則相當於p[0],值為'a'.)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM