那曲檬骨新材料有限公司

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

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

3天內不再提示

C語言定義字符串的幾種方法

學益得智能硬件 ? 來源:學益得智能硬件 ? 2023-03-31 09:41 ? 次閱讀

C語言中定義字符串有哪些方法?

首先是數(shù)組,存放在棧區(qū),可讀可寫,操作起來很方便。

char s1[] = "helloworld";
初學者容易寫成這樣:
chars1[32];
s1="helloworld";
不過編譯的時候就會提示錯誤,因為數(shù)組名是指針常量,地址不能修改。

第二種是字符串常量,存放在只讀數(shù)據區(qū)。
char*s2 = "helloworld";
既然是只讀,就是不能修改的意思,非要修改,就是段錯誤。
s2[0] = 'x';

編譯運行結果:

root@Turbo:test# ./test 
Segmentation fault (core dumped)
root@Turbo:test#
第三種先在堆上申請空間,然后用字符串拷貝函數(shù)把字符串拷貝進去,用完記得釋放空間。
char*s3=(char*)malloc(128);
strcpy(s3,"helloworld");
free(s3);
初學者容易寫成這樣:
char *s3 = (char *)malloc(128);
s3= "helloworld";
free(s3);
編譯沒問題,但是運行的時候,直接異常退出。


原因就是,本來指針s3指向一塊堆空間:


c38f3566-cee4-11ed-bfe3-dac502259ad0.png ?

執(zhí)行:
s3="helloworld"
語句后,你以為是把字符串賦值給這塊堆空間:


c3c4c3a2-cee4-11ed-bfe3-dac502259ad0.png ?


其實是重新給指針s3賦值:

c405e67a-cee4-11ed-bfe3-dac502259ad0.png ?


s3原來指向堆內存,現(xiàn)在指向只讀數(shù)據區(qū),去釋放這塊空間,當然是不允許的。


最后,給大家留一個關于字符串的筆試題,如果你知道答案,歡迎在文章下方留言。

c488e098-cee4-11ed-bfe3-dac502259ad0.png ?

審核編輯:湯梓紅

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

    關注

    180

    文章

    7614

    瀏覽量

    137694
  • 字符串
    +關注

    關注

    1

    文章

    585

    瀏覽量

    20601
  • 指針
    +關注

    關注

    1

    文章

    481

    瀏覽量

    70608
  • 編譯
    +關注

    關注

    0

    文章

    661

    瀏覽量

    33038
  • 數(shù)組
    +關注

    關注

    1

    文章

    417

    瀏覽量

    26027

原文標題:C語言定義字符串的幾種方法

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

收藏 人收藏

    評論

    相關推薦

    C語言進階】如何靈活利用宏定義字符串轉換

    如何使用C語言的宏定義轉換字符串?
    的頭像 發(fā)表于 08-29 08:51 ?8084次閱讀
    【<b class='flag-5'>C</b><b class='flag-5'>語言</b>進階】如何靈活利用宏<b class='flag-5'>定義</b>做<b class='flag-5'>字符串</b>轉換

    C++字符串string

    string是C++編程語言中的字符串。在C++中字符串處理可以使用c
    的頭像 發(fā)表于 07-10 00:26 ?1385次閱讀
    <b class='flag-5'>C</b>++<b class='flag-5'>字符串</b>string

    C語言教程之字符串替換

    C語言教程之字符串替換,很好的C語言資料,快來學習吧。
    發(fā)表于 04-25 15:49 ?0次下載

    C語言教程之回文字符串

    C語言教程之回文字符串,很好的C語言資料,快來學習吧。
    發(fā)表于 04-25 15:49 ?0次下載

    C語言教程之字符串加密和解密

    C語言教程之字符串加密和解密,很好的C語言資料,快來學習吧。
    發(fā)表于 04-25 15:49 ?0次下載

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

    C/C++語言中沒有專門的字符串變量,通常用字符數(shù)組來存放字符串。
    發(fā)表于 11-14 17:50 ?1.3w次閱讀

    C語言字符串匹配和數(shù)據提取源碼

    C語言字符串匹配與數(shù)據提取源碼
    的頭像 發(fā)表于 02-27 15:42 ?2457次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b><b class='flag-5'>字符串</b>匹配和數(shù)據提取源碼

    C語言字符串拷貝函數(shù)有幾種方法?

    strcpy,即string copy(字符串復制)的縮寫。 是C語言標準庫中實現(xiàn)字符串拷貝的一個函數(shù)。 各大公司筆試題最喜歡考的一道題,快來看看,你會
    的頭像 發(fā)表于 03-12 14:16 ?4820次閱讀

    C語言編程字符串函數(shù)匯總資源下載

    C語言編程字符串函數(shù)匯總資源下載
    發(fā)表于 04-15 16:18 ?9次下載
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>編程<b class='flag-5'>字符串</b>函數(shù)匯總資源下載

    C語言總結_字符串全方位練習

    C語言字符串全方位練習,涉及知識點:字符串解析、大小寫判斷、字符串插入、字符串刪除、
    的頭像 發(fā)表于 08-14 09:41 ?1556次閱讀

    C語言-字符串處理

    字符串C語言里使用非常多,因為很多數(shù)據處理都是文本,也就是字符串,特別是設備交互、web網頁交互返回的幾乎都是文本數(shù)據。 這篇文章就介紹字符串
    的頭像 發(fā)表于 08-14 10:05 ?1799次閱讀

    字符串類型以及C++語言布爾類型

    C風格字符串;char+變量名+[ ]=”字符串值” (可以隨便定義變量名,也就是用變量名代替某一大
    的頭像 發(fā)表于 02-21 15:40 ?1140次閱讀
    <b class='flag-5'>字符串</b>類型以及<b class='flag-5'>C</b>++<b class='flag-5'>語言</b>布爾類型

    C語言字符串的引用方式

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

    c語言字符串定義

    字符串定義、初始化、操作和常見問題。 字符串定義和初始化 在C語言中,
    的頭像 發(fā)表于 11-24 10:02 ?2105次閱讀

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

    C語言中,字符串實際上是使用null字符O'終止的一維字符數(shù)組。因此,一個以null結尾的
    的頭像 發(fā)表于 03-07 16:18 ?553次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b><b class='flag-5'>字符串</b>編譯函數(shù)介紹
    必胜娱乐场| 临颍县| 大发888娱乐城都有啥扑克牌游戏| 尊龙百家乐娱乐网| 阴宅风水24山分金| 黄金百家乐官网的玩法技巧和规则| 网上百家乐官网是叫九五至尊么| 邯郸百家乐官网园真钱区| 西藏| 必博网| 六合彩特码开奖结果| 大发888娱乐85战神版| 威尼斯人娱乐城玩百家乐 | 游戏机百家乐庄闲| 百家乐云顶| 百家乐赌博机怎么玩| 百家乐视频游戏帐号| 百家乐看点打法| 开店做生意的风水摆件| 24山分别指什么| 神州百家乐官网的玩法技巧和规则 | 百家乐是不是有假| 百家乐官网牡丹娱乐城| 百家乐官网b28博你发v| 博狗百家乐官网的玩法技巧和规则 | 缅甸百家乐的玩法技巧和规则| 百家乐骰盅规则| 百家乐网上真钱娱乐网| 百家乐7scs娱乐平台| 破解百家乐游戏机| 百家乐桌手机套| 百家乐排名| 狮威百家乐赌场娱乐网规则 | 百家乐赢钱心得| 百家乐赢新全讯网| 澳门百家乐规则| 网络百家乐真假| 百家乐扫描技术| 如何胜百家乐的玩法技巧和规则| 马德里百家乐的玩法技巧和规则 | 狮威百家乐娱乐场|