#define定義的宏是在編譯之前在源代碼文本中進行替換的,不需要爲其分配空間,在編譯之後就不能再以任何方式改變.變量則是在運行的過程中在內存中分配的一段空間,可以在運行的過程中對值進行改變.
如果一個量在運行的過程中不需要再改變,而且對速度比較在意,那麼就應該使用宏.
有符號整數與無符號整數做數學運算時會自動轉換爲無符號類型。
例如 int x=-5;
11111111 11111111 11111111 11111011
unsigned int y=5;
00000000 00000000 00000000 00000101
結果是0
32位的int類型時 -20爲4294967276 i+j = 4294967286