c语言知识重温及深入
1.定義是什么?聲明是什么?
A)int i;
B)extern int i;
定義就是編譯器創建一個對象,為這個對象分配一個內存并取名字,就是變量名或對象名,并且這個變量和內存就被被捆綁在一起,不可分割,內存也不可改變,同時在一定區域(函數,全局)不可以重復定義一個變量;
聲明有兩個含義,一是告訴編譯器這個變量已經和內存匹配了,下面的代碼用到的變量是在別處定義的,聲明可以出現多次;二是告訴編譯器已經預定了這個變量,別的地方不能再用來做變量名
定義與聲明的區別就是定義已經分配了內存,而聲明沒有。
2.register關鍵字
這個關鍵字請求編譯器盡可能的吧變量存在CPU內部寄存器,而不是通過內存尋址操作訪問,以提高效率。
3.寄存器——CPU的數據中轉站
用于Cpu讀取數據效率提高
4.static關鍵字
在函數中定義,用于函數執行結束后,變量數據不被銷毀
5.c數據結構類型
6.命名規則!!!
以上命名規范要好好注意并嚴格執行,都是坑,深有體會
7.signed和unsigned
signed是有符號,可不寫;unsigned是無符號
注意:無符號不包含負數;如char的范圍是-128~127,unsigned char范圍是0~127
注意范圍溢出!!!
8.switch-case語句
按執行頻率排case!!
case后加break;除非有意不加
加上default:break;
9.while(1)死循環
妙用
10.break和continue
break表示停止本層循環
continue表示停止本次循環
11.循環寫法的注意點
1.長循環放里面,短循環放外面,提高cpu效率
2.推薦半開半閉寫法
3.循環盡可能短
4.控制在3層嵌套循環
12.禁用goto語句
13.typedef
typedef是給已經存在的餓數據結構換一個名字(不是變量!)
typedef不支持拓展,下面舉例
14.#define 宏定義
E可編譯
F不可以
因為#define作用是替換,而typedef不是替換,且不支持拓展
15.注釋規范要求
16.常見優先級問題
17.函數寫法規范
2.每個函數結束后以及每個文件結束之后都要加上幾行空行
3.變量定義與函數語句之間加上空行
6.用縮行顯示程序結構,使排版整齊,縮進量統一使用4個字符(用sublime text3編寫嘻嘻)
總結
以上是生活随笔為你收集整理的c语言知识重温及深入的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 单片机程序框架
- 下一篇: 模拟电路技术之基础知识(一)