在 c 語言裡,所謂的資料型別就是坑的大小。我們說變數就是在記憶體裡邊挖乙個坑,然後給這個坑命名。那麼資料型別指的就是這個坑的尺寸。c 語言允許使用的型別如下:
short 和 long
我們可以為這些基本資料型別加上一些限定符,比如表示長度的 short 和 long。比如 int 經過限定符修飾之後,可以是 short int,long int,還可以是 long long int(這個是 c99 新增加的)。
這裡需要說的是,這裡 c 語言並沒有限制 int 的坑具體要挖多大,short int 或 long int 的坑又要挖多大。標準只是要求:short int <= int <= long int <= long long int。
sizeof 運算子
sizeof 用於獲得資料型別或表示式的長度,它有三種使用方式:
#include int main()
signed 和 unsigned還有一對型別限定符是 signed 和 unsigned,它們用於限定 char 型別和任何整型變數的取值範圍。
signed 表示該變數是帶符號位的,而 unsigned 表示該變數是不帶符號位的。帶符號位的變數可以表示負數,而不帶符號位的變數只能表示正數,它的儲存空間也就相應擴大一倍。預設所有的整型變數都是 signed 的,也就是帶符號位的。
因此加上 signed 和 unsigned 限定符,四種整型就變成了八種:
#include int main()
位元位和位元組cpu 能讀懂的最小單位(只能存放 0 和 1)—— 位元位,bit,b
記憶體機構的最小定址單位 —— 位元組,byte,b
關係:1byte == 8bit
因此,乙個位元組可以表示最大的數是:11111111
二進位制、十進位制和十六進製制
符號位
存放 signed 型別的儲存單元中,左邊第一位表示符號位。如果該位為 0,表示該整數是乙個正數;如果該位為 1,表示該整數是乙個負數。
乙個 32 位的整型變數,除去左邊第一位符號位,剩下表示值的只有 31 個位元位。
#include #include int main()
補碼計算機是用補碼的形式來存放整數的值。
正數的補碼是該數的二進位制形式。
負數的補碼需要通過以下幾步獲得:
二進位制表示最大值和最小值
基本資料型別的取值範圍
字元型別事實上是乙個特殊的整數型別字元型別事實上是乙個特殊的整型,因此它也有取值範圍,signed char 的取值範圍是 -128 ~ 127;unsigned char 的取值範圍是 0 ~ 255。
字元型別與普通整數型別的不同之處
c 標準規定普通整數型別預設使用 signed 修飾符,但沒有規定 char 的預設修飾符。因此,使用 signed 或 unsigned 修飾符,是由編譯系統自行決定。
存放在字元型別中的變數,都可以被解釋為 ascii 字元表中的對應字元
ascii 字元表 -> 傳送門
標準 ascii 字元表使用7位二進位制數來表示所有的大寫和小寫字母,數字 0 到 9、標點符號, 以及在美式英語中使用的特殊控制字元。
其中,ascii 字元表上的數字 0 ~ 31 以及 127(共 33 個)分配給了控制字元,用於控制像印表機等一些外圍裝置。這些是看不到的。數字 32 ~ 126 分配給了能在鍵盤上找到的字元,這些是所見即所得的。
#include int main()
字串c 語言沒有專門為儲存字串設計乙個單獨的型別,因為沒必要。我們之前已經說過,字串事實上就是一串字元。所以只需要在記憶體中找一塊空間,然後存放一串字元型別的變數即可。
宣告字串的語法:
char 變數名[數量];
對其進行賦值,事實上就是對這一塊空間裡邊的每乙個字元變數進行賦值。我們通過索引號來獲得每個字元變數的空間。
變數名[索引號] = 字元;
比如:
char name[7];
name[0] = 't';
name[1] = 'a';
name[2] = 'n';
name[3] = 't';
name[4] = 'a',
name[5] = 'o',
name[6] = '\0';
當然,我們可以把宣告和定義寫在一塊,語法是這樣的:
char name[7] = ;
printf("%s\n",name);
其實,中括號()裡邊的數量咱可以不寫,編譯器會自動幫你計算的。
char a = ;
事實上可以直接在大括號寫上字串常量,字串常量用雙引號括起來,還記得吧:
char a = ;
使用字串常量有個好處,那就是你不必親自在末尾新增 '\0',它會自動幫你加上。
最後,如果使用字串常量的話,這個大括號也是可以省掉的:
char a = "tantao";
python基礎語法02
if 條件 執行 if 條件 執行 1 條件為真時,做的事情 else 執行 2 條件為假時,做的事情 if 條件1 執行 elif 條件2 執行 elif 條件3 執行 else 條件n 執行 if 條件 if 條件 執行 else 執行 else 執行 完成 外賣結算 程式 要求 滿30減10塊...
Vue基礎語法02
vue基礎語法02 屬性繫結 v bind 可簡寫為 v bind 指令被用來響應地更新 html 屬性 v bind href 可以縮寫為 href v bind 和 v on的區別 v bind 繫結屬性 v on 繫結事件 繫結類名v bind class 通過v bind class 鍵 代...
Python 02 基礎語法
在python裡,識別符號有字母 數字 下劃線組成。在python中,所有識別符號可以包括英文 數字以及下劃線 但不能以數字開頭。python中的識別符號是區分大小寫的。以下劃線開頭的識別符號是有特殊意義的。以單下劃線開頭 foo 的代表不能直接訪問的類屬性,需通過類提供的介面進行訪問,不能用 fr...