在线观看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

    文章

    3115

    瀏覽量

    75070
  • 編程
    +關注

    關注

    88

    文章

    3686

    瀏覽量

    94966
  • 代碼
    +關注

    關注

    30

    文章

    4891

    瀏覽量

    70367

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

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

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    golang內存分配

    內存碎片. 線程擁有一定的 cache, 可用于無鎖分配. 同時 Go 對于 GC 后回收的內存頁, 并不是馬上歸還給操作系統, 而是會延遲歸還, 用于滿足未來的內存需求. ?? ?
    的頭像 發表于 03-31 15:00 ?156次閱讀
    golang<b class='flag-5'>內存</b>分配

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

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

    TLK2201的數據端口對應不齊是怎么回事?

    這個片子我選擇的是unframed模式,輸入的端口0-9的數據不一定是對應在輸出端口0-9輸出。而是在上電后,輸入輸出端口0-9是隨機循環對應的。即有可能輸入端9-
    發表于 02-07 07:29

    C語言中申請的內存能不能自動釋放

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

    DDR內存頻率對性能的影響

    DDR內存頻率對性能的影響主要體現在以下幾個方面: 、數據傳輸速度 內存條的頻率(MHz)代表每秒的傳輸速度,即內存每秒能夠執行操作的次數。頻率越高,意味著數據傳輸速度越快。這有助于
    的頭像 發表于 11-20 14:25 ?3639次閱讀

    美光:人工智能影響PC內存的供需平衡

    兼總經理Dinesh Bahal說。 HBM,即高帶寬內存,是種與數據中心 GPU 起使用的產品。它的專長是大帶寬,這對計算尤為重要。您可能還記得 AMD 曾經嘗試在游戲顯卡 Vega 中使用 HBM
    的頭像 發表于 11-12 09:13 ?682次閱讀

    談JVM xmx, xms等內存相關參數合理性設置

    的,提高內存占用(Memory Footprint)就有可能同時優化這兩個標的,這篇文章就來聊聊內存相關內容。 內存占用般指應用運行需要的所有內存
    的頭像 發表于 10-10 14:42 ?1235次閱讀

    轉載 golang內存分配

    . 線程擁有一定的 cache, 可用于無鎖分配. 同時 Go 對于 GC 后回收的內存頁, 并不是馬上歸還給操作系統, 而是會延遲歸還, 用于滿足未來的內存需求. ?? ? 在 1.10 以前 go
    的頭像 發表于 09-05 14:12 ?458次閱讀
    轉載 golang<b class='flag-5'>內存</b>分配

    請問下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 ?5687次閱讀

    堆棧和內存的基本知識

    本文主要聊聊關于堆棧的內容。包括堆棧和內存的基本知識。常見和堆棧相關的 bug,如棧溢出,內存泄漏,內存分配失敗等。后面介紹軟件中堆棧統計的重要性,以及如何使用工具工具軟件中堆棧使用
    的頭像 發表于 08-29 14:10 ?983次閱讀
    堆棧和<b class='flag-5'>內存</b>的基本知識

    用的PGA309和24LC16BE,校準完成之后零點輸出4mA,讀取eeprom的值發現程序的標志位變了,為什么?

    發現程序的標志位變了,原來正確的值應為5449,更改之后的值就不一定是什么值了,請問有沒有遇見過同樣的問題,可能產生這種情況的原因在哪啊?
    發表于 08-19 08:30

    如何使用SystemView的監控功能

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

    LM723可調電路PCB板

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

    單相整流橋怎么測量好壞

    單相整流橋種常見的電子元件,主要用于將交流電轉換為直流電。在測量單相整流橋的好壞時,需要掌握一定的方法和技巧。 、單相整流橋
    的頭像 發表于 07-16 09:22 ?2096次閱讀
    主站蜘蛛池模板: 亚洲骚片 | 色屁屁www影院免费观看视频 | 欧美激情综合亚洲五月蜜桃 | 日本在线一区 | 国产毛片一区二区三区精品 | 久久伊人色 | 欧美性猛交xxxxbbbb | 成人伊人 | 精品国产1000部91麻豆 | 97玖玖 | 免费大片黄在线观看日本 | 亚瑟 国产精品 | xxxx69日本| 男女做视频网站免费观看 | 日本人xxxxxxxxx69 | 曰韩毛片 | 国产欧美日韩视频免费61794 | 国产乱辈通伦影片在线播放 | 色播影院性播影院私人影院 | 亚洲午夜一区 | 国产精品 视频一区 二区三区 | 四虎在线精品 | 深爱五月激情五月 | 秋霞麻豆 | 免费在线不卡视频 | xxxx日本在线播放免费不卡 | 色视频免费在线观看 | 天堂在线.www资源在线观看 | 级毛片 | 午夜韩国理论片在线播放 | 91av在线视频观看 | 美女三级网站 | 三级毛片在线 | 免费人成在线观看网站品爱网 | 在线免费视频国产 | 亚洲特级aaaaaa毛片 | 成人免费看片视频色多多 | 视色4setv.com | 午夜性刺激免费视频观看不卡专区 | 高清欧美性xxxx成熟 | 天天躁狠狠躁夜夜躁2021 |