在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

養成良好的編程習慣|堆內存初值不一定是0

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

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

#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 申請一段堆內存,假設內存空間足夠大。

通過 getchar 配合 while 循環,從標準輸入獲取一個字符串,直到遇到換行符結束。

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

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

然后把程序運行起來,多測試幾遍,也確實沒發現問題。

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

問題就出在了 malloc 函數上面。

malloc 用于申請堆內存,但是堆內存里面的內容是不確定的。

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

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

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

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

    關注

    8

    文章

    3025

    瀏覽量

    74042
  • 編程
    +關注

    關注

    88

    文章

    3615

    瀏覽量

    93731
  • 代碼
    +關注

    關注

    30

    文章

    4788

    瀏覽量

    68603

原文標題:養成良好的編程習慣 | 堆內存初值不一定是0

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

收藏 人收藏

    評論

    相關推薦

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

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

    主板內存故障燈亮會是cpu的問題嗎

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

    如何使用SystemView的監控功能

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

    LM723可調電路PCB板

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

    單相整流橋怎么測量好壞

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

    STM32H750DMA+SPi內存數據不一致的原因?

    發現用stm32H750 dma+spi讀寫數據時發現當spi速度大于8M時出現內存不一致的問題,我再讀之前已經用SCB_CleanInvalidateDCache_by_Addr這個函數無效化內存了,速度小于8M時沒有這個問題
    發表于 05-24 07:53

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

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

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

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

    7個編程習慣養成后年薪30萬不是夢

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

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

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

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

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

    C語言內存泄漏問題原理

    內存泄漏問題只有在使用內存的時候才會出現,棧內存不存在內存泄漏問題,因為棧內存會自動分配和釋放
    發表于 03-19 11:38 ?526次閱讀
    C語言<b class='flag-5'>內存</b>泄漏問題原理

    負電荷的電場線一定是直線嗎

    負電荷的電場線不一定是直線。在些特殊情況下,負電荷的電場線可能會呈現出曲線或彎曲的形態。為了詳細解釋這點,我將在以下幾個方面進行論述。 電荷和電場 本部分將介紹電荷和電場的基本概念,以幫助讀者
    的頭像 發表于 02-26 15:18 ?820次閱讀

    和棧的區別和使用注意事項

    和棧是在計算機科學中廣泛使用的兩種數據結構,它們具有不同的用途和特點。和棧的區別涉及到內存分配、訪問方式、數據存儲等方面。在使用和棧時,還需要注意
    的頭像 發表于 01-18 17:24 ?2214次閱讀

    自動駕駛地圖研究:SD pro MAP快速上車,助力城市NOA輕地圖智駕方案

    從自動駕駛的發展進程看,段時間內將持續處于人機共駕階段,這個階段對地圖的需求并不一定是要高精度地圖,針對不同地圖互補特性整合的多源地圖可能更適合該階段的自動駕駛需求。
    的頭像 發表于 01-04 16:09 ?1434次閱讀
    自動駕駛地圖研究:SD pro MAP快速上車,助力城市NOA輕地圖智駕方案
    主站蜘蛛池模板: 欧美一级一一特黄| 激情综合网婷婷| 国产精品五月天| 久久香蕉国产线看观看亚洲片| 综合欧美一区二区三区| 天堂网最新| 精品一区 二区三区免费毛片| 天堂网www在线| 欧美亚洲综合图区在线| 日本黄色三级视频| 天天综合亚洲| 亚洲日本一区二区三区在线不卡| 四虎永久在线精品国产免费| 成人看片免费无限观看视频| asian极品呦女爱爱| 新天堂在线| 成年人电影黄色| 免费黄色大片视频| 色丁香六月| 天天天天天天操| 老师我好爽再深一点好大| 美女张开大腿让男人桶| 欧美成人26uuu欧美毛片| bl 高h文| 黄 色 大 片 网站| 777奇米影音| 色偷偷伊人| 天天碰天天干| yy肉戏多纯黄的小说| 好男人www社区影视在线| 2021久久精品99精品久久| 午夜影视免费观看| 亚洲狠狠狠一区二区三区| 免费黄色网址网站| 6969精品视频在线观看| 5566成人| 久久网色| 色成人免费网站| 欧美成网| 国产精品美女久久久| 色噜噜噜噜色|