什麼是資料型別?資料型別是建立變數的模具
資料型別是建立變數的模具
型別的本質:資料型別可理解為固定記憶體大小的別名
資料型別的本質是固定記憶體大小的別名
變數本質
變數是一段實際連續儲存空間的別名
型別和變數的關係
$ vim program.c
#include int main()
$ gcc program.c -o program
$ program.exe
1, 1
2, 2
4, 4
$ vim program.c
#include //自定義型別(別名)
記憶體分配型別
auto
#include int g = 0;
int main()
static
register
#include register int m = 0;
int main()
$ gcc program.c -o program
λ gcc program.c -o program
program.c:3:14: error: register name not specified for 'm'
register int m = 0;
小結
#include int main()
#include int main()
$ gcc program.c -o program
$ program.exe
61ff2c
407020
C語言深度剖析
c語言深度剖析 1,編譯器通常不為普通const唯讀變數分配儲存空間,而是將他們儲存在符號表中,使得它成為乙個編譯期間的值,沒有了儲存與讀記憶體的操作,使得它的效率更高。2,const int p p可變,p指向的物件不變。int const p p可變,p指向的物件不可變 int const p ...
C語言深度剖析 列舉
列舉與 define巨集的區別 1 define 巨集常量是在預編譯階段進行簡單替換。列舉常量則是在編譯的時候確定其值。2 一般在編譯器裡,可以除錯列舉常量,但是不能除錯巨集常量。3 列舉可以一次定義大量相關的常量,而 define 巨集一次只能定義乙個。列舉能做到事,define 巨集能不能都做到...
《C語言深度剖析》筆記
c語言深度剖析 筆記 1.在c語言中,凡不加返回值型別限定的函式,就會被編譯器作為返 回整形處理。2.register 變數必須是乙個單個的值,並且其長度應小於或等於整型 的長度。而且 register 變數可能不存放在記憶體中,所以不能用取 址運算子 來獲取 register變數的位址。3.int...