国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

C語言編程容易混淆的幾個問題總結

發布時間:2017-8-23 17:23    發布者:ludi
關鍵詞: 嵌入式
在進行單片機開發時,經常都會出現一些很不起眼的問題,這些問題其實都是很基礎的c語言知識點,是一些小細節。但是正是因為很基礎,又都是小細節,所以我們往往容易忽視它們。結果有時候我們會花很長的時間糾結一個問題,遲遲找不到問題的所在。當發現原因竟然是這么的簡單和不起眼時,我想大家都會感到痛不欲生。筆者今天又碰到了這樣的問題,實在忍不住了。因為這些問題都是小的知識點,考慮到之前也遇到好多這種問題,于是決定每次遇到問題就記錄下來,時刻提醒自己!!
1. !和~不一樣
§ ! :邏輯非符號;
§ ~:是位取反符號;
IO口某個管腳賦值時不要錯用 !,如
file:///C:\Users\郭曉娟\AppData\Local\Temp\ksohtml\wps88FF.tmp.jpg
1. <<和>>的優先級低于+、-
比如要實現c=x*2+1,沒有加括號會出錯
        file:///C:\Users\郭曉娟\AppData\Local\Temp\ksohtml\wps890F.tmp.png
3. 移位要防止溢出
其實用移位代替乘除法是個不錯的方法,筆者很喜歡拿到一段代碼后用移位代替乘除法來進行優化。不過有時候卻會出現問題,比如溢出問題。當很明顯可能溢出的話我們是會注意的,比如
file:///C:\Users\郭曉娟\AppData\Local\Temp\ksohtml\wps8910.tmp.png
但是有時候這個問題是不明顯的,比如當移位出現在數組索引或函數參數時,有段用液晶顯示字符的代碼如下
file:///C:\Users\郭曉娟\AppData\Local\Temp\ksohtml\wps8921.tmp.png
我們可以用左移運算來代替乘法進行優化,如
file:///C:\Users\郭曉娟\AppData\Local\Temp\ksohtml\wps8922.tmp.png
這本是一個好方法,但是事實上上面的代碼是錯的。當執行c<<4時,因為沒有明顯的賦值過程,我們可能認為沒問題,而事實上c的高位已經丟失了,所以得到錯誤的結果。一個可行的做法是先進行強制轉換,如
file:///C:\Users\郭曉娟\AppData\Local\Temp\ksohtml\wps8923.tmp.png
4. 無符號和有符號運算
當一個有符號數和一個無符號數進行算術運算時,系統會自動將有符號數強制轉換為無符號數再進行運算(即使你使用有符號數強制類型轉換),如下面兩種寫法的運輸結果是一樣的信盈達嵌入式企鵝要妖氣嗚嗚吧久零就要
file:///C:\Users\郭曉娟\AppData\Local\Temp\ksohtml\wps8924.tmp.png
file:///C:\Users\郭曉娟\AppData\Local\Temp\ksohtml\wps8935.tmp.png
5. 局部變量要初始化
這一點是比較容易被忽略的。局部變量沒有初始化的話,因為單片機每次為他分配的是同一個內存區域,當你在函數中是這么使用局部變量時,就可能出問題:
file:///C:\Users\郭曉娟\AppData\Local\Temp\ksohtml\wps8936.tmp.png
如果第一次調用fun時,a傳遞的值為0,那么flag = 0x01;
執行if(flag&0x01)后面的代碼。以后再調用fun時,即使a不為0,但flag依然使用之前的內存區域,所以其值一直為0x01,一直執行的是if后面的代碼,而不是else后面的

本文地址:http://m.qingdxww.cn/thread-516104-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 利用SAM E54 Xplained Pro評估工具包演示CAN轉USB橋接器以及基于CAN的主機和自舉程序應用程序
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美亚洲日本国产 | 日韩欧美一区二区三区 | 逆天邪神第一季全集免费观看 | 国产欧美日韩在线人成aaaa | 亚洲日本一区二区三区在线不卡 | 高傲名媛野外耻辱调教h | 高清欧美一区二区三区 | 四虎在线精品观看免费 | 日本综合欧美一区二区三区 | 亚洲天天操 | 国产精品亚洲专区在线观看 | 国产黄色片视频 | 日本一在线中文字幕天堂 | 日本v片免费一区二区三区 日本vr超清在线视频免费 | 蜜臀视频在线 | 亚洲欧美字幕 | 国产精品麻豆视频 | 九九久久精品国产 | 国产亚洲欧美成人久久片 | 2022麻豆福利午夜久久 | 色毛片| 黑人巨大人精品欧美三区 | 亚洲精品15p | 激情五月激情综合 | 欧美日韩国产超高清免费看片 | 四虎精品在线视频 | 欧美人与性动交a欧美精品 欧美人与禽zzz000xxx | 成年午夜| 日本精品中文字幕在线播放 | 99r8这是只有精品视频9 | 性做久久久久久蜜桃花 | 免费国产小视频在线观看 | 国产一区二区三区视频在线观看 | 草逼免费看 | 高清一级毛片免免费看 | 国产成人夜色91 | 成人午夜精品久久不卡 | 四虎影院观看 | 国产特黄a级在线视频 | 免费四虎永久在线精品 | 视频一区二区三区自拍 |