99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

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

學(xué)益得智能硬件 ? 來(lái)源:學(xué)益得智能硬件 ? 2023-11-30 16:39 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

要說(shuō)他們的區(qū)別,我覺(jué)得主要就是 ? 的問(wèn)題。

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

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

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

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

C語(yǔ)言中的字符串必須以 ? 結(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'};;

這種寫(xiě)法,helloworld 的后面全是 ?。

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

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

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

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

char array[] = "helloworld";

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

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

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

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

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

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

審核編輯:湯梓紅

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

    關(guān)注

    8

    文章

    3125

    瀏覽量

    75295
  • C語(yǔ)言
    +關(guān)注

    關(guān)注

    180

    文章

    7632

    瀏覽量

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

    關(guān)注

    1

    文章

    590

    瀏覽量

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

    關(guān)注

    1

    文章

    420

    瀏覽量

    26577

原文標(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類(lèi)
    發(fā)表于 09-23 19:00 ?1615次閱讀

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

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

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

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

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

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

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

    字符串是存放在字符數(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>說(shuō)明

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

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

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

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

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

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

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

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

    C語(yǔ)言字符串的引用方式

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

    c語(yǔ)言字符串定義

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

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

    在C語(yǔ)言中,字符串實(shí)際上是使用null字符O'終止的一維字符數(shù)組。因此,一個(gè)以null結(jié)尾的字符串,包含了組成
    的頭像 發(fā)表于 03-07 16:18 ?752次閱讀
    C語(yǔ)言<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 ?5356次閱讀

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

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

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

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