曰本美女∴一区二区特级A级黄色大片, 国产亚洲精品美女久久久久久2025, 页岩实心砖-高密市宏伟建材有限公司, 午夜小视频在线观看欧美日韩手机在线,国产人妻奶水一区二区,国产玉足,妺妺窝人体色WWW网站孕妇,色综合天天综合网中文伊,成人在线麻豆网观看

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

字符數(shù)組和字符串有沒有區(qū)別?

學(xué)益得智能硬件 ? 來源:學(xué)益得智能硬件 ? 2023-11-30 16:39 ? 次閱讀

字符數(shù)組和字符串有沒有區(qū)別?

最近有同學(xué)做筆試題的時(shí)候,遇到了這么一個(gè)問答題。

絕大多數(shù)人會(huì)把字符數(shù)組和字符串當(dāng)作一個(gè)概念,因?yàn)樵?a href="http://www.brongaenegriffin.com/soft/data/21-24/" target="_blank">C語言中沒有string這種類型,所以我們一般用字符數(shù)組來表示字符串。

要說他們的區(qū)別,我覺得主要就是 ? 的問題。

定義字符數(shù)組,我們一般這樣寫:

chararray[]={'h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd'};;

但是這種寫法存在很嚴(yán)重的問題,如果用 strlen 計(jì)算數(shù)組的長(zhǎng)度或者用 printf 的 %s 格式來輸出,那程序很容易奔潰。

因?yàn)閿?shù)組里面只有 helloworld, 占10個(gè)字節(jié),它達(dá)不到字符串的標(biāo)準(zhǔn)。

C語言中的字符串必須以 ? 結(jié)尾,不管是 printf 還是 strlen 這些字符串處理函數(shù),都是把 ? 作為字符串的結(jié)束標(biāo)志。

想要計(jì)算這個(gè)數(shù)組的長(zhǎng)度,只能用 sizeof 關(guān)鍵字,得到數(shù)組實(shí)際占用內(nèi)存的大小。

這個(gè)代碼要想修改,有兩種方法。

第一種把數(shù)組的容量改的大一些,程序就能正常運(yùn)行。

char array[20] = {'h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd'};;

這種寫法,helloworld 的后面全是 ?。

此時(shí)的字符數(shù)組就是一個(gè)完整的字符串。

第二種在最后一個(gè)字符的后面手動(dòng)加上一個(gè) ?,也能達(dá)到相同的效果。

chararray[]={'h','e','l','l','o','w','o','r','l','d','?'};

當(dāng)然這種寫法太麻煩,我們一般直接寫成這樣。

char array[] = "helloworld";

這個(gè)地方的 helloworld 就是一個(gè)標(biāo)準(zhǔn)的字符串,存儲(chǔ)的時(shí)候編譯器會(huì)把最后的 ? 一同加入到數(shù)組中。

這種寫法推薦大家在寫代碼的時(shí)候使用。

有時(shí)候我們還會(huì)聽到一個(gè)概念,字符串?dāng)?shù)組,比如寫成這樣的:

chararray[]={"helloworld","123456"};

這個(gè)就比剛才的代碼麻煩的多。

問大家一個(gè)問題,此時(shí)的數(shù)組array在內(nèi)存中占幾個(gè)字節(jié)?

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 內(nèi)存
    +關(guān)注

    關(guān)注

    8

    文章

    3103

    瀏覽量

    74916
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7628

    瀏覽量

    139945
  • 字符串
    +關(guān)注

    關(guān)注

    1

    文章

    589

    瀏覽量

    21026
  • 數(shù)組
    +關(guān)注

    關(guān)注

    1

    文章

    419

    瀏覽量

    26324

原文標(biāo)題:字符數(shù)組和字符串是不是一回事

文章出處:【微信號(hào):學(xué)益得智能硬件,微信公眾號(hào):學(xué)益得智能硬件】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    數(shù)組、向量和字符串 實(shí)驗(yàn)

    實(shí)驗(yàn) 5 數(shù)組、向量和字符串一、實(shí)驗(yàn)?zāi)康?1. 掌握J(rèn)ava中的數(shù)組定義、引用2. 掌握向量的基本概念和應(yīng)用技術(shù)3. 掌握使用字符串String類
    發(fā)表于 09-23 19:00 ?1594次閱讀

    C語言字符串轉(zhuǎn)數(shù)字實(shí)現(xiàn)方法

    在C/C++語言中沒有專門的字符串變量,通常用字符數(shù)組來存放字符串。字符串是以“\0”作為結(jié)束符
    發(fā)表于 11-14 17:50 ?1.4w次閱讀

    C語言的字符串處理函數(shù)

    指針是神奇的,指向整型的指針int *p1,可以操作整型數(shù)組int a[];指向字符型的指針char *p2,可以操作字符數(shù)組字符串)ch
    發(fā)表于 07-24 17:37 ?4次下載
    C語言的<b class='flag-5'>字符串</b>處理函數(shù)

    電子表格字符串數(shù)組轉(zhuǎn)換和改良LabVIEW資料免費(fèi)下載

    由于labiview自帶的電子表格字符串數(shù)組轉(zhuǎn)換子VI存在輸出的數(shù)組會(huì)被字符串的單個(gè)回車影響,這會(huì)導(dǎo)致單元格中帶有回車的數(shù)組轉(zhuǎn)到
    發(fā)表于 07-03 08:00 ?11次下載
    電子表格<b class='flag-5'>字符串</b>至<b class='flag-5'>數(shù)組</b>轉(zhuǎn)換和改良LabVIEW資料免費(fèi)下載

    用指針實(shí)現(xiàn)字符串拷貝的程序和字符型指針變量與字符數(shù)組區(qū)別說明

    字符串是存放在字符數(shù)組中的,對(duì)字符數(shù)組中的字符逐個(gè)處理時(shí),前面介紹的指針與
    發(fā)表于 11-05 16:15 ?2次下載
    用指針實(shí)現(xiàn)<b class='flag-5'>字符串</b>拷貝的程序和<b class='flag-5'>字符</b>型指針變量與<b class='flag-5'>字符</b><b class='flag-5'>數(shù)組</b>的<b class='flag-5'>區(qū)別</b>說明

    什么是復(fù)制字符串?Python如何復(fù)制字符串

    。 在上一篇文章《你真的知道Python的字符串怎么用嗎?》里,我突發(fā)奇想,將字符串跟列表做了比較,然后發(fā)現(xiàn)字符串竟然沒有復(fù)制的方法。當(dāng)時(shí)沒有
    發(fā)表于 11-25 10:32 ?3132次閱讀

    字符串函數(shù)重寫練習(xí)

    字符串函數(shù)重寫練習(xí):字符串比較、字符串拼接、字符串查找、字符串拷貝、內(nèi)存比較、內(nèi)存拷貝、內(nèi)存初始化、內(nèi)存比較、二維
    的頭像 發(fā)表于 05-05 15:02 ?2150次閱讀

    C語言字符數(shù)組字符串有什么區(qū)別

    用來存放字符數(shù)組稱為字符數(shù)組。字符數(shù)組的各個(gè)元素依次存放
    的頭像 發(fā)表于 02-17 14:27 ?4250次閱讀

    簡(jiǎn)述數(shù)組字符串組的使用

    在Python中我們通常也會(huì)用到數(shù)組字符串組并且能快速方便的構(gòu)建出來,那么在java構(gòu)建數(shù)組是否是類似的呢?
    的頭像 發(fā)表于 02-23 11:09 ?644次閱讀
    簡(jiǎn)述<b class='flag-5'>數(shù)組</b>及<b class='flag-5'>字符串</b>組的使用

    C語言字符串的引用方式

    在C語言程序中,字符串是存放在字符數(shù)組中的。 2. 用字符數(shù)組存放一個(gè)字符串,可以通過
    的頭像 發(fā)表于 03-10 14:57 ?2179次閱讀

    c語言字符串定義

    C語言是一種強(qiáng)大而廣泛使用的編程語言,字符串是其中一個(gè)非常重要的概念。在C語言中,字符串是由一系列字符組成的數(shù)組,它可以表示文本、數(shù)字等各種類型的數(shù)據(jù)。在本文中,我們將詳盡、詳實(shí)、細(xì)致
    的頭像 發(fā)表于 11-24 10:02 ?2445次閱讀

    C語言字符串編譯函數(shù)介紹

    在C語言中,字符串實(shí)際上是使用null字符O'終止的一維字符數(shù)組。因此,一個(gè)以null結(jié)尾的字符串,包含了組成
    的頭像 發(fā)表于 03-07 16:18 ?631次閱讀
    C語言<b class='flag-5'>字符串</b>編譯函數(shù)介紹

    labview字符串如何轉(zhuǎn)換為16進(jìn)制字符串

    Instrument)以及利用第三方工具。 1. 使用內(nèi)置函數(shù) LabVIEW提供了一些內(nèi)置函數(shù),可以直接將字符串轉(zhuǎn)換為16進(jìn)制字符串。這些函數(shù)通常位于“編程”->“字符串”->“轉(zhuǎn)換”菜單下。 1.1
    的頭像 發(fā)表于 09-04 15:54 ?4318次閱讀

    labview字符串數(shù)組轉(zhuǎn)化為數(shù)值數(shù)組

    在LabVIEW中,將字符串數(shù)組轉(zhuǎn)換為數(shù)值數(shù)組是一項(xiàng)常見的任務(wù),尤其是在處理數(shù)據(jù)采集、信號(hào)處理或用戶輸入時(shí)。 1. 理解LabVIEW的數(shù)據(jù)類型 在開始之前,了解LabVIEW中的數(shù)據(jù)類型是非
    的頭像 發(fā)表于 09-04 17:47 ?4415次閱讀

    字符串字符數(shù)組區(qū)別

    在編程語言中,字符串字符數(shù)組是兩種基本的數(shù)據(jù)結(jié)構(gòu),它們都用于存儲(chǔ)和處理文本數(shù)據(jù)。盡管它們?cè)诠δ苌嫌幸欢ǖ闹丿B,但在內(nèi)部表示、操作方式和使用場(chǎng)景上存在顯著差異。 1. 內(nèi)部表示 字符串
    的頭像 發(fā)表于 01-07 15:29 ?840次閱讀