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

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

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

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

養(yǎng)成良好的編程習(xí)慣|堆內(nèi)存初值不一定是0

學(xué)益得智能硬件 ? 來源:學(xué)益得智能硬件 ? 2024-12-18 09:14 ? 次閱讀

什么是良好的編程習(xí)慣?可以看下這段代碼,有沒有什么問題?

#include 
#include 


int main()
{
char*s=(char*)malloc(1024);


    char ch;
    int i = 0;


    while ((ch = getchar()) != '
')
    {
        *(s + i++) = ch;
    }


    printf("%s
", s);


    return 0;
}

代碼很簡單,使用 malloc 申請一段堆內(nèi)存,假設(shè)內(nèi)存空間足夠大。

通過 getchar 配合 while 循環(huán),從標(biāo)準(zhǔn)輸入獲取一個字符串,直到遇到換行符結(jié)束。

最后就是把獲取的字符串輸出。

乍一看,好像程序沒什么問題。

然后把程序運行起來,多測試幾遍,也確實沒發(fā)現(xiàn)問題。

但是如果把代碼換個平臺,比如放到了 Windows 上,使用 DEV C++ 編譯器,再次運行,程序好像出了問題。

問題就出在了 malloc 函數(shù)上面。

malloc 用于申請堆內(nèi)存,但是堆內(nèi)存里面的內(nèi)容是不確定的。

剛才我們用的兩個編譯器,gcc 默認把堆內(nèi)存初始化成了 0,所以使用 getchar 獲取多個字符后,最后是 ?,是個標(biāo)準(zhǔn)的字符串。

而使用 dev C++,最后一個字符的后面并不是 ?,輸出也就出了問題。

良好的編程習(xí)慣就是使用內(nèi)存的時候盡量初始化,如果代碼這樣寫,不管移植到哪個平臺,都不會出問題。

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

    關(guān)注

    8

    文章

    3081

    瀏覽量

    74592
  • 編程
    +關(guān)注

    關(guān)注

    88

    文章

    3649

    瀏覽量

    94343
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4857

    瀏覽量

    69524

原文標(biāo)題:養(yǎng)成良好的編程習(xí)慣 | 堆內(nèi)存初值不一定是0

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

收藏 人收藏

    評論

    相關(guān)推薦

    DLP4500需要使用近紅外光源,如何判斷這個芯片是否適用?

    因為要對人體掃描,之前直再看450NIR,650NIR做的投影產(chǎn)品,但這種太少還都是在國外才有的賣。 所以想問下,如果用850nm的光源,是不是用普通的DMD芯片就可以,不一定是近紅外波段的NIR系列芯片。 另外,如果有人
    發(fā)表于 02-21 17:15

    TLK2201的數(shù)據(jù)端口對應(yīng)不齊是怎么回事?

    這個片子我選擇的是unframed模式,輸入的端口0-9的數(shù)據(jù)不一定是對應(yīng)在輸出端口0-9輸出。而是在上電后,輸入輸出端口0-9是隨機循環(huán)對應(yīng)的。即有可能輸入端9-
    發(fā)表于 02-07 07:29

    C語言中申請的內(nèi)存能不能自動釋放

    C語言中申請的內(nèi)存能不能自動釋放?每次都要手動 free 太麻煩,也容易忘記。 學(xué)過 C++ 的同學(xué),應(yīng)該首先能想到智能指針。 但是這是C語言,沒有類和對象、構(gòu)造析構(gòu)這些技術(shù),想要自動釋放很難
    的頭像 發(fā)表于 11-27 09:33 ?244次閱讀

    請問下LM3433中Vadj是不是一定是需要大于0.3V?

    請問下LM3433中Vadj是不是一定是需要大于0.3V,如果Vadj的電壓小于0.3V,比如Vadj=0.25V,那么Vsense是等于0.3/16.667還是0.25/16.667?謝謝!
    發(fā)表于 09-04 06:16

    主板內(nèi)存故障燈亮?xí)莄pu的問題嗎

    主板內(nèi)存故障燈亮并不一定是CPU的問題,但CPU與內(nèi)存之間的交互確實可能影響這故障現(xiàn)象。以下是對主板內(nèi)存故障燈亮可能原因的分析:
    的頭像 發(fā)表于 09-02 14:42 ?4281次閱讀

    如何使用SystemView的監(jiān)控功能

    SystemView能夠監(jiān)視應(yīng)用程序如何使用動態(tài)存儲。這意味著,如果應(yīng)用程序中使用了C或C++、自定義或RTOS提供的內(nèi)存池對象,我們可以跟蹤這些對象的使用情況。SystemView可以在
    的頭像 發(fā)表于 08-09 18:07 ?961次閱讀
    如何使用SystemView的<b class='flag-5'>堆</b>監(jiān)控功能

    LM723可調(diào)電路PCB板

    此板不一定與LM723可調(diào)電路相同,謹慎下載
    發(fā)表于 07-17 13:02 ?2次下載

    單相整流橋怎么測量好壞

    單相整流橋種常見的電子元件,主要用于將交流電轉(zhuǎn)換為直流電。在測量單相整流橋的好壞時,需要掌握一定的方法和技巧。 、單相整流橋
    的頭像 發(fā)表于 07-16 09:22 ?1392次閱讀

    STM32H750DMA+SPi內(nèi)存數(shù)據(jù)不一致的原因?

    發(fā)現(xiàn)用stm32H750 dma+spi讀寫數(shù)據(jù)時發(fā)現(xiàn)當(dāng)spi速度大于8M時出現(xiàn)內(nèi)存不一致的問題,我再讀之前已經(jīng)用SCB_CleanInvalidateDCache_by_Addr這個函數(shù)無效化內(nèi)存了,速度小于8M時沒有這個問題
    發(fā)表于 05-24 07:53

    大模型體機是在“賣盒子”嗎?

    大模型不一定要捆綁硬件來凸顯價值,但一定要結(jié)合硬件來充分釋放價值
    的頭像 發(fā)表于 05-15 09:55 ?2069次閱讀
    大模型<b class='flag-5'>一</b>體機是在“賣盒子”嗎?

    深度論證-高速走線控制100歐姆阻抗一定是最好的選擇嗎?

    分走線如果沒有明確協(xié)議規(guī)定,那就按100歐姆來控制。很多工程師其實都不一定很清楚的知道內(nèi)在的理論和原因,但是也會潛意識的控制100歐姆,可見100歐姆差分線這個觀念是多么的深入人心! 但是,深入人心
    發(fā)表于 05-13 17:12

    7個編程習(xí)慣養(yǎng)成后年薪30萬不是夢

    起工作的時間里,我注意到他們絕大部分人的些共通的編程和工作習(xí)慣。我想,或許正是這些習(xí)慣讓他們成為了行業(yè)金字塔中最頂尖的那1%。01成為
    的頭像 發(fā)表于 03-30 08:09 ?333次閱讀
    7個<b class='flag-5'>編程</b><b class='flag-5'>習(xí)慣</b>,<b class='flag-5'>養(yǎng)成</b>后年薪30萬不是夢

    鴻蒙APP開發(fā):【ArkTS類庫多線程】TaskPool和Worker的對比(2)

    創(chuàng)建Worker的線程稱為宿主線程(不一定是主線程,工作線程也支持創(chuàng)建Worker子線程),Worker自身的線程稱為Worker子線程(或Actor線程、工作線程)。每個Worker子線程與宿主線程擁有獨立的實例,包含基礎(chǔ)設(shè)施、對象、代碼段等。
    的頭像 發(fā)表于 03-27 15:44 ?618次閱讀
    鴻蒙APP開發(fā):【ArkTS類庫多線程】TaskPool和Worker的對比(2)

    求助,給到USB OTG FS內(nèi)核的時鐘為什么一定是要48M呢?

    給到USB OTG FS內(nèi)核的時鐘為什么一定是要48M呢?
    發(fā)表于 03-22 11:26

    C語言內(nèi)存泄漏問題原理

    內(nèi)存泄漏問題只有在使用內(nèi)存的時候才會出現(xiàn),棧內(nèi)存不存在內(nèi)存泄漏問題,因為棧內(nèi)存會自動分配和釋放
    發(fā)表于 03-19 11:38 ?625次閱讀
    C語言<b class='flag-5'>內(nèi)存</b>泄漏問題原理
    主站蜘蛛池模板: 亚洲无人区码二码三码区别图 | 别停好爽好深好大好舒服视频 | 看美女大腿中间的部分 | 国产精品麻豆高潮刺激A片 国产精品麻豆a在线播放 | 国产美女视频一区二区二三区 | 国产在线精品一区二区在线看 | 男人j进女人j一进一出 | a色毛片免费视频 | 国产精品ⅴ视频免费观看 | 成人精品综合免费视频 | 琪琪热热色原日韩在线 | 日本特黄网站 | 嗯啊快拔出来我是你老师视频 | 日日噜噜夜夜狠狠视频 | 国产99RE在线观看69热 | 日韩欧美中文字幕在线 | 午夜看片a福利在线观看 | 久久爽狠狠添AV激情五月 | 久久亚洲人成网站 | 野花韩国视频中文播放 | 亚洲人成电影网站 | chinese情侣自拍啪hd | 手机国产视频福利 | 男女爽爽无遮挡午夜视频在线观看 | 人人碰国产免费线观看 | 欧美精品专区免费观看 | 亚洲色欲色欲WWW在线成人网 | 影音先锋av色咪影院 | 芳草地在线观看免费视频 | 日产日韩亚洲欧美综合搜索 | 女警被黑人20厘米强交 | 超碰在线线公开免费视频 | 做暖免费观看日本 | 最近的中文字幕免费完整 | 国产成人拍精品视频网 | 国产成A人片在线观看 | 在线一本码道高清 | 国产扒开美女双腿屁股流白浆 | 欧美gay69| 在线亚洲国产日韩欧洲专区 | 国产亚洲精品品视频在线 |