C语言-定义与初始化总结
生活随笔
收集整理的這篇文章主要介紹了
C语言-定义与初始化总结
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
- 1 實型
- 2 標識符
- 3 變量
- 4 一維數組
- 4.1 注意點
- 4.2 初始化
- 5 二維數組
- 5.1 初始化
- 6 字符數組
- 6.1 初始化
- 6.2 與字符指針的比較
- 7 結構體
- 7.1 聲明定義
- 7.2 初始化
- 7.3 結構體指針
- 8 共用體
- 9 枚舉
1 實型
實型分為十進制小數類型和指數形式,其中指數形式,規定以字母e和E代表以10為底的指數,但應注意:e或E之前必須有數字,且e或E后面必須為整數。
- 正確示例:12.34e3、-346.87e-25、0.145E-25、1.2e0、123e03
- 錯誤示例:e4、12e2.5
2 標識符
除了變量名,后面還會講到函數名、宏名、結構體名等,它們都是標識符。標識符只能由字母(A~Z, a~z)、數字(0-9)和下劃線(_)組成,并且第一個字符必須是字母或下劃線,不能是數字。C語言標識符區分大小寫。
- 正確示例:a、x、x3、BOOK_1、sum5
- 錯誤示例:3s、-3x、bowy-1、s*T
C語言雖然不限制標識符的長度,但是它受到不同編譯器的限制,同時也受到操作系統的限制。例如在某個編譯器中規定標識符前128位有效,當兩個標識符前128位相同時,則被認為是同一個標識符。
3 變量
可以定義多個變量并為多個變量賦初值,如
int a, b, c=5; // 正確 int a=3, b=3, c=3; // 正確 int a=b=c=3; // 錯誤4 一維數組
4.1 注意點
- 數組大小可以使用常量或者符號常量,如int a[3+5];,但是不能使用變量,如int a[n];但C99支持這種做法。
- 在被調用函數中定義數組,可以使用變量,如
- 如果指定數組為靜態數組,則不能使用可變長數組,如static int a[2*n];就是錯誤的。
4.2 初始化
- 在定義數組時對全部數組元素賦初值,如
- 可以對數組中一部分元素賦初值,則只給前五個元素賦值,后5個賦值0,如
- 可以初始化全部為0,如
- 初始化可以不指定長度,如
5 二維數組
5.1 初始化
- 分行給二維數組賦初值,如
- 可以將數據寫在一個括號里賦初值,如
- 可以對部分元素賦初值,這樣對各行第一個元素賦初值,其他的為0,如
- 可以對各行中某一元素賦初值,如
- 可以只對某行幾個元素賦初值,如
- 也可以對其中一行不賦值,如
- 如果對全部元素賦初值,則一維長度可以省略,二者等價,如
- 可以只對部分元素賦初值并省略一維長度,如
6 字符數組
6.1 初始化
- 把各個字符依次賦值給數組,數量大于數組長度會報錯,數量小于數組長度會將剩下的位置賦值為\0,如
- 二維字符數組,如
- 用字符串常量來初始化字符數組,三者等價,此時系統會在末尾加上一個\0,所以實際長度會是字符串長度+1,若給定了字符數組的長度,而字符串長度小于字符數組定義長度,其余位置會賦值\0,如
6.2 與字符指針的比較
- 字符數組存放若干元素,字符指針存放字符串的首地址
- 可以對字符指針賦值,但不能對數組名賦值,如
- 字符數組中各元素的值是可以改變的(可以再次賦值),字符指針指向的字符串常量是不能再次賦值的,如
7 結構體
7.1 聲明定義
- 先聲明,再定義,如
- 在聲明類型的同時定義變量,如
- 匿名結構體,直接定義變量,如
7.2 初始化
- 定義結構體并初始化
- C99允許對某個成員初始化,則其他變量默認初始化0,如
- 同類型結構體變量可以相互賦值,如
- 定義結構體數組并初始化,如
- 定義時初始化,如
7.3 結構體指針
若struct Student *p = student1;,使用p->age代替(*p).age(.優先級大于*,括號不能省),以下三種寫法等價
student1.age; (*p).age; p->age;8 共用體
共用體union可以用一段內存存放不同類型的變量,它在每一瞬間只能存放其中一個成員,對共用體變量多次賦值,只保留最后一次賦值的值,共用體變量所占的內存長度等于最長的成員長度,初始化跟結構體有點像。
- 聲明并定義共用體,如
- 可以聲明和定義分開,如
- 初始化方法,如
- 對共用體賦值要指明賦值對象,如
- C99 允許共用體之間相互賦值,允許共用體變量作為函數參數
9 枚舉
如果變量有幾種可能的值,則可以定義枚舉,即把可能的值一一列舉出來,變量的值只限于舉例出來的值范圍內,每一個枚舉變量范圍取值代表一個整數,從0開始遞增。
- 聲明枚舉類型,如
- 定義枚舉類型,如
- 賦值,如
- 可以人為的指定枚舉元素的取值,如
- 枚舉元素可以用來做判斷比較,通過初始化時的整數進行比較,如
總結
以上是生活随笔為你收集整理的C语言-定义与初始化总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言-文件操作总结
- 下一篇: C语言-转义字符注意事项