區域性變數也稱為內部變數,區域性變數是在函式內作定義說明的,其作用域僅限於函式內,離開該函式後再使用這種變數是非法的。
全域性變數也稱為外部變數,它是在函式外部定義的變數,它不屬於哪乙個函式,它屬於乙個源程式檔案,其作用域是整個源程式;需注意:在同乙個原始檔中,區域性變數和全域性變數同名,則在區域性變數的作用範圍內,全域性變數被 「遮蔽」 ,不起作用。
1)主函式中定義的變數也只能在主函式中使用,不能在其他函式中使用。同時,主函式中也不能使用其他函式中定義的變數。因為主函式也是乙個函式,它與其他函式是平行關係。這一點是與其他語言不同的,應予以注意。
2)形參變數是屬於被調函式的區域性變數,實參變數是屬於主調函式的區域性變數。
3)允許在不同的函式中使用相同的變數名,它們代表不同的物件,分配不同的單元,互不干擾,也不會發生混淆。
4)在復合語句中也可定義變數,其作用域只在復合語句範圍內。
int:4位元組 double:8位元組 short:2位元組 float:4位元組 char:1位元組 long:4位元組
1)可以修飾區域性變數、全域性變數、函式;
2)修飾區域性變數作用:使函式生命週期延長到程式結束後再釋放;
1)可以修飾外部變數或外部函式;
2)用來宣告某個變數或函式在本檔案之外的其他檔案定義的,要使用時到其他檔案找。
1)不僅可以修飾基本型別,還可以用來修飾構造型別和指標及各種複雜型別結合體;
2)const修飾乙個變數,此變數被宣告為唯讀變數,即不能通過這個變數名來修改變數的值,但是變數指向的空間裡的值是可變的;
3)const的主要作用:防止程式執行過程中對函式實參的值做修改,提高安全性。
1)只能修飾區域性變數,不能修飾全域性變數和函式;
2)當乙個變數是register變數時,不能通過 & 來獲取變數位址,因為它儲存在 cpu 暫存器中;
3)register 是乙個暫存器變數,它的作用:請求編譯器將變數盡可能的儲存在 cpu 暫存器中,提高執行效率,省去了 cpu 從記憶體中讀取資料的時間;
4)register 一般修飾經常被訪問的變數。
1)typedef 作用:為一種資料型別定義乙個新名字。這裡的資料型別包括內部資料型別(int,char等)和自定義的資料型別(struct等)。
2)在程式設計中使用typedef目的一般有兩個,乙個是給變數乙個易記且意義明確的新名字,另乙個是簡化一些比較複雜的型別宣告。
1)#define巨集常量是在預編譯階段進行簡單替換,列舉常量則是在編譯的時候確定其值;
2)一般在編譯器裡,可以除錯列舉常量,但是不能除錯巨集常量;
3)列舉可以一次定義大量相關的常量,而#define 巨集一次只能定義乙個。
在結構中各成員有各自的記憶體空間,乙個結構變數的總長度是各成員長度之和;而在聯合中,各成員共享一段記憶體空間,乙個聯合變數的長度等於各成員中最長的長度(同樣遵循對齊)。這裡所謂的共享不是指把多個成員同時裝入乙個聯合變數內,而是指該聯合變數可被賦予任一成員值,但每次只能賦一種值, 賦入新值則衝去舊值。
資料型別相關
整型常量 十進位制 18 31 long int型常量 123l 123l 123456l 123456l unsigned int型常量 123u 123u 根據實際資料大小確定int型還是long型 l以數字 0 開始的整型常量是八進位制數 022 037 010和10大小不一樣 因為八進位制並...
js基礎 資料型別檢測的相關知識
最近工作有點忙,好幾天都沒更新技術部落格了。週末起床開啟有道雲筆記,發現自己的部落格todolist裡躺了一堆只有名字的檔案。話不多說,我們開幹,加油!今天,我們一起學習一下js中的資料型別檢測相關的知識,也順便做個總結。1 資料型別介紹 我們都知道,在js中分為基本資料型別和複雜資料型別。基本資料...
js基礎 資料型別檢測的相關知識
最近工作有點忙,好幾天都沒更新技術部落格了。週末起床開啟有道雲筆記,發現自己的部落格todolist裡躺了一堆只有名字的檔案。話不多說,我們開幹,加油!今天,我們一起學習一下js中的資料型別檢測相關的知識,也順便做個總結。1 資料型別介紹 我們都知道,在js中分為基本資料型別和複雜資料型別。基本資料...