C和Java字串和字串數組的異同點

來源:互聯網
上載者:User

 

1. C 語言

  在C語言中字串和字元數組基本上沒有區別,都需要結束符;如:char s[4]={'a','b','c','d'};此字元數組的定義編譯可以通過,但卻沒有關閉數組,若其後需要申請記憶體,那麼以後的資料均會放入其中,儘管它的長度不夠,但若為 char s[5]={'a','b','c','d'};則系統會自動在字串的最後存放一個結束符,並關閉數組,說明字元數組是有結束符的;

    而字串定義的長度必須大於字元序列的長度,如:char s1[4]={"abcd"};編譯不能通過,而應寫成char s1[5]={"abcd"};並且系統會自動在字串的最後存放一個結束符,說明字串有結束符;

在C語言中使用strlen()函數可以測數組的長度,strlen()Function Compute的時候不包含結束符'/0'。

char s[5]={'a','b','c','d'};

char s1[5]={"abcd"};

int a=strlen(s);

int b=strlen(s1);

結果是a,b均為4;

  2.Java語言

  字串和字串數組都是不需要結束符的;

  如:char[] value={'j','a','v','a','語','言'};

        String s1=new String(value);

        String s2="java語言";  

  int a=value.length;

    int b=s1.length();

    int c=s2.length();

  運行得到的結果a,b,c都是6,說明字串和字串數組都不需要結束符。但注意此處value.length和s1.length(),在數組中有名常量length可以記錄數組對象的長度,而length()是File類中的一個執行個體方法,用於返迴文件的大小,當然也可以返回字串的大小。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.