\(@^0^@)/ 嗨!大家好,我是呆博~前兩天的文章還滿意嘛,如果有不滿意的地方盡管提,我一定……嗯……能做到的我一定做。今天準備給大家分享第三篇文章,變量與常量。同樣代碼部分以截圖形式呈現,如果想擷取原始代碼可點選底部 閱讀原文 獲得。
1
什麼是變量和常量
變量和常量是程式處理的兩種基本資料對象。我們把讓 CPU 處理的資料都放在記憶體中,但如果你沒有給他安排一個位置,而是随意存放,那麼你在後邊需要再次用到這個資料的時候,就再也找不到它了。是以變量的意義就是确定目标并提供存放的空間,常量也是如此。
如下圖是一種形象的解釋,我們可以了解變量和常量是存儲資料的帶有名字的坑位,在後面過的 “變量聲明” 我們還将看到,它不僅僅指定了名字,還制定了坑的大小(即變量在記憶體中的大小)。
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicWZwpmL1ADMlRTYzUjZyYjY0MWN1ImN5UjM5MjZxkTZycDZ0EWNkZTZwEmY58CXt92Yu4GZjlGbh5SZslmZxl3Lc9CX6MHc0RHaiojIsJye.jpeg)
2
變量名
為了确定目标,我們需要給變量命名,如下圖所示,一旦變量有了名字,我們就可以通過直呼其名的方式來擷取它裡邊存放的資料。
2.1
變量命名規範
C語言中的變量名隻能是英文字母(A-Z,a-z) 、數字 (0-9)和下劃線(_)組成,其他特殊字母不行。下橫線通常用于連接配接一個比較長的變量名,比如apple_pen;
變量名必須是由英文字母或者下劃線開頭,不可以能用數字開頭;
變量名區分大小寫。因為C語言是大小寫敏感的程式設計語言,是以大寫的 APPLE 跟小寫的 apple 會被認為是不同的兩個名字。在傳統的命名習慣中,我們用小寫字母來命名變量,用大寫字母來表示符号常量名。
不能使用關鍵字來命名變量。
2.2
關鍵字
在 C 語言的規範中規定 “不能使用關鍵字來命名變量”,那什麼是關鍵字呢?關鍵字就是 C 語言内部使用的名字,這些名字都具有特殊的含義。為了防止混淆,才規定 “不能使用關鍵字來命名變量”。
傳統的 C 語言(ANSI C)有如下的 32 個關鍵字:
1999年,ISO 釋出 C99,添加了 5 個關鍵字:
2011年,ISO 釋出 C11,添加了 7 個關鍵字:
2.3
常用的基本資料類型
在 C 語言中常見的資料類型有以下四種:
char 字元型,占用一個位元組
int 整型,通常反映了所用機器中整數的最自然長度
float 單精度浮點型
double 雙精度浮點型
2.4
聲明變量的文法
在第一部分有提到過在變量聲明中,不僅僅要給出變量的名字,還要給出變量的大小,實際給出了資料類型就相當于給出了變量的大小,比如說
int a; // 在記憶體中找到一個整型大小的位置,然後霸占起來,并給它命名叫 a
char b; //在記憶體中找到一個位元組大小的位置,然後霸占起來,并給它命名叫 b
float c; //在記憶體中找到一個單精度浮點型資料大小的位置,然後霸占起來,并給它命名叫 c
double d; //在記憶體中找到一個雙精度浮點型資料大小的位置,然後霸占起來,并給它命名叫 d
舉例說明
以上一篇文章中給出的程式為例進行說明
對于上面的這段程式,其中的int a = 520;相當于下面這兩行代碼,是一種簡單的表達形式
即首先聲明一個變量的名稱 (a) 和類型 (int,也就是我們之前所說的占記憶體的大小),之後再給這個變量指派一個與資料類型對應的資料(在此為一個 int 型數520)。是以在格式化輸出函數printf中,格式化的含義正如上面的程式所展示的,将不同類型的資料轉化為字元串的形式再列印出來,比如printf("嘗試列印輸出一個字元%c在一個句子中\n", b);中就是将 b作為字元型資料轉換到字元串%c占位的位置再輸出。
3
常量
3.1
常見常量
常見的常量有以下幾種:
整型常量: 1,2,443
實型常量:3.14,5.8989
字元型常量:
普通字元,如‘a’,‘b’,‘c’
轉義字元,如‘\n’,‘\t’,‘\b’
字元串常量:“Apple”
符号常量:在使用之前要首先定義
3.2
符号常量
在C語言中可以用一個辨別符來表示一個常量,這個辨別符稱之為符号常量。其特點是編譯後寫在代碼區,不可尋址,不可更改,屬于指令的一部分。
其使用格式為#define 辨別符 常量,如下所
其中的辨別符隻能是英文字母(A-Z,a-z)和數字(0-9)或者下劃線(_)組成,并且第一個字母必須是字母或者下劃線開頭,這點與變量的要求是一樣的。同樣的辨別符區分大小寫并且不能使用關鍵字來命名辨別符,但是一般常用大寫字母。
好了,今天的内容就到這裡了,可能有的同學已經忘記了什麼是位元組,怎麼計算一個變量或者常量占用記憶體的大小,沒關系,我們會在下節課中進一步作出解釋。
原文釋出時間為:2018-10-03
本文作者: 獨孤呆博
本文來自雲栖社群合作夥伴“
輪子工廠”,了解相關資訊可以關注“
"