色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

char *s和char s[]在內存中是怎么存儲的?

學益得智能硬件 ? 來源:學益得智能硬件 ? 2023-02-13 09:45 ? 次閱讀

36b159da-a8bf-11ed-bfe3-dac502259ad0.png

這兩行代碼有什么區別? 從語法層面上講,上面的是指針,下面的是數組,但是想要搞清楚他們的區別,還得知道他們在內存中怎么存儲的。

371e73bc-a8bf-11ed-bfe3-dac502259ad0.png

操作系統中,每個進程在啟動的時候都會被分配一塊虛擬地址空間,這塊空間包含數據段、代碼段、堆、棧等等。

char*s="helloworld";
s 屬于棧空間,在 64 位系統中占 8 個字節。

"helloworld" 我們把它稱作字符串常量,存放在只讀數據區。

既然是只讀數據,那么它一定不能修改。

所以這條語句涉及兩塊內存,棧空間的指針指向只讀數據區。

377c58ec-a8bf-11ed-bfe3-dac502259ad0.png ?

s 指向字符h,如果s++,那么就指向字符e。

3795fc0c-a8bf-11ed-bfe3-dac502259ad0.png ?

但是因為"helloworld"是只讀數據,所以 *s 不能修改,比如:
 *s = 'a';
運行會出錯。
char s[] = "helloworld";
s 是一個數組,"helloworld"用于初始化數組。 數組存放在棧空間,算上字符串后面的?,數組占 11 個字節。 既然是棧空間的數據,我們就可以通過數組名去修改,比如:
s[0] = 'a';
就是把字符 h 改成了 a。 但是由于數組名是常指針,表示的是數組首元素的地址,所以數組名不好修改。
s++;
會在編譯的時候直接報錯。 要說他們倆有什么聯系,指針可以用下標去訪問,數組也可以當作指針來使用。
char *s1 = "helloworld";
printf("%c
",s1[1]);


char s2[] = "helloworld";
printf("%c
", *(s2 + 1));



審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 字符串
    +關注

    關注

    1

    文章

    585

    瀏覽量

    20577
  • 虛擬地
    +關注

    關注

    0

    文章

    2

    瀏覽量

    5499

原文標題:char *s 和 char s[] 的區別

文章出處:【微信號:學益得智能硬件,微信公眾號:學益得智能硬件】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    char是什么數據類型

    數據代碼char
    油潑辣子
    發布于 :2023年11月16日 16:58:00

    error: incompatible types when assigning to type ‘char[20]’ from type ‘char **’

    #include#include#if 1char *GetSrand(char s[][20],int len){int a = len;srand(time(0));return s
    發表于 07-07 17:46

    bit和int char基本認識及區別

     bit和int char之類的差不多,只不過char=8位, bit=“1位而已”。都是變量,編譯器在編譯過程中分配地址。除非你指定,否則這個地址是隨機的。這個地址是整個可尋址空間,RAM+FLASH+擴展空間。bit只有0和1兩種值,意義有點像Windows下VC
    發表于 08-06 08:00 ?11次下載
    bit和int <b class='flag-5'>char</b>基本認識及區別

    char *和char數組的區別及內核訪問用戶區

    abcd 和ABCD了,這是為什么?實際上,char *只是一個指,僅僅是一個unsigned long,那么我們看看pa1,內存實際就8個字節(32位機器),兩個指針,一個4個字節,我們傳入send
    發表于 04-02 14:36 ?3172次閱讀

    浮點數在內存存儲

    浮點數在內存存儲和整數不同,因為整數都可以轉換為一一對應的二進制數據。而浮點數的存儲是由符號位 (sign) + 指數位 (exponent) + 小數位 (fraction) 組
    的頭像 發表于 09-20 10:52 ?4097次閱讀
    浮點數<b class='flag-5'>在內存</b><b class='flag-5'>中</b>的<b class='flag-5'>存儲</b>

    char 與unsigned char在嵌入式開發的區別

    嵌入式數據采集的最小單位為8bit或者8bit的倍數,在嵌入式char buf[ ]指的就是字符串,也就是所謂的字符空間,轉換成ascii碼是有符號數unsigned char b
    發表于 11-03 10:06 ?9次下載
    <b class='flag-5'>char</b> 與unsigned <b class='flag-5'>char</b>在嵌入式開發<b class='flag-5'>中</b>的區別

    51單片機 對 char 反序列輸出,以及注意事項

    反序列輸出 意思是 比如數值 0xaa (二進制 1010 1010),輸出為 0x55(二進制 0101 0101).先上函數unsigned char Reverse(unsigned
    發表于 11-23 16:20 ?8次下載
    51單片機 對 <b class='flag-5'>char</b> 反序列輸出,以及注意事項

    MCU_C語言中 數組型指針 的應用 -- char (*stringp)[]

    定義一個指向數組的指針stringpchar (*stringp)[];取得某個數組的地址 :char *dst = &string[10];指針指向該數組的某個位置:stringp = (char (*)[])dst;
    發表于 11-29 18:06 ?2次下載
    MCU_C語言中 數組型指針 的應用 -- <b class='flag-5'>char</b> (*stringp)[]

    字符型char和整型int之間的關系

    )有符號的字符表示-128127,無符號字符表示0255。char相當于signed char還是unsigned char取決于編譯器。字符型數據在內存
    發表于 01-13 15:22 ?1次下載
    字符型<b class='flag-5'>char</b>和整型int之間的關系

    S71200:char和string的定義

    數據類型為 char (Character) 的變量長度為 8 bit 位,占用1個 byte 的內存char 數據類型將單個字符存儲為 ASCII 編碼形式。
    的頭像 發表于 04-01 11:13 ?7923次閱讀

    char和string在西門子PLC的格式

    數據類型為 char (Character) 的變量長度為 8 bit 位,占用1個 byte 的內存char 數據類型將單個字符存儲為 ASCII 編碼形式。
    的頭像 發表于 07-07 17:05 ?1.6w次閱讀

    char和string在西門子PLC的格式

    數據類型為 char (Character) 的變量長度為 8 bit 位,占用1個 byte 的內存char 數據類型將單個字符存儲為 ASCII 編碼形式。
    的頭像 發表于 07-21 09:10 ?9393次閱讀

    收發通信數據時應統一用unsigned char類型

    我看有同事用char類型接收,語法上來說char默認是signed char
    的頭像 發表于 05-25 11:39 ?1228次閱讀

    如何將QString轉成char

    注意的是,如果轉換類型是const char *盡管用data()不會出錯,會給你自動轉換,但是還是不建議,因為深拷貝了一份,理論上增加了內存開銷,如果字符串長度小還好,一旦很長,這個開銷挺大,這是個好的編程
    的頭像 發表于 11-24 15:33 ?961次閱讀

    oracleto_char用法

    to_char是Oracle數據庫的一個函數,用于將不同類型的數據轉換為字符類型。 to_char函數的基本語法: to_char(表達式,格式模型) 首先,to_
    的頭像 發表于 12-05 16:54 ?2425次閱讀
    主站蜘蛛池模板: 国产在线观看www | 国语对白嫖老妇胖老太 | 最近免费中文字幕大全免费 | 国产不卡一卡2卡三卡4卡网站 | 日本无卡无吗在线 | 成年无码av片 | 婷婷激情综合色五月久久竹菊影视 | 狠狠啪 日日啪 | 亚洲AV无码专区国产精品麻豆 | 热久久2018亚洲欧美 | 亚洲精品国产在线网站 | 菠萝视频高清版在线观看 | 少妇两个奶头喷出奶水了怎么办 | 囯产精品一品二区三区 | 国产亚洲精品字幕在线观看 | 伊人久久青草青青综合 | 精子网久久国产精品 | 天天影视网网色色欲 | 精品无码一区二区三区不卡 | 国产 亚洲 中文字幕 在线 | 国产高清精品国语特黄A片 国产高清国内精品福利色噜噜 | 四虎视频最新视频在线观看 | 乳色吐息未增删樱花ED在线观看 | 99免费在线观看视频 | A级超碰视频在线观看 | 中国毛片网 | 色久久综合视频本道88 | 女人一级毛片免费视频观看 | 黄色亚洲片 | 蜜桃日本MV免费观看 | 无码天堂亚洲国产AV久久 | 欧美另类jizzhd | 欧美00后rapper潮水 | 亚洲视频区 | 99视频精品国产免费观看 | 亚洲人美女肛交真人全程 | 亚洲国产精品一区二区第一页 | 99精品成人无码A片观看金桔 | 欧美日韩一区在线观看 | 久爱精品亚洲电影午夜 | 亚洲乱亚洲乱妇在线观看 |