1. 程式人生 > >C語言筆記 第十一課 enum,sizeof,typedef分析

C語言筆記 第十一課 enum,sizeof,typedef分析

第十一課 enum,sizeof,typedef分析

列舉型別的使用方法

enum是C語言中的一種自定義型別
enum值是可以根據需要自定義的整型值
第一個定義的enum值預設為0
預設情況下的enum值是在前一個定義值的基礎上加1
enum型別的變數只能取定義時的離散值
在這裡插入圖片描述

列舉型別的特殊意義

enum中定義的值是C語言中真正意義上的常量
在工程中enum多用於定義整型常量
在這裡插入圖片描述
11-1enum的使用

sizeof關鍵字的用法

sizeof是編譯器的內建指示符 ** 不是函式 **
sizeof用於計算型別或變數所佔的記憶體大小
sizeof的值在編譯期就已經確定
sizeof用於型別:sizeof(type)
sizeof用於變數:sizeof(var) 或 sizeof var
在這裡插入圖片描述

sizeof是C語言的內建關鍵字而不是函式

在編譯過程中所有的sizeof將被具體的數值所替換
程式的執行過程與sizeof沒有任何關係
下面的程式輸出什麼?
在這裡插入圖片描述
11-2 sizeof的本質

typedef的意義

面試中…
考官:你能說說typedef具體的意義嗎?
應聘者:typedef用於定義一種新的型別-----pass
typedef用於給一個已經存在的資料型別重新命名

typedef本質上不能產生新的型別
typedef重新命名的型別:
可以在typedef語句之後定義
不能被unsigned和signed修飾
用法:
typedef type new_name;
11-3 typedef使用示例
小結:


enum用於定義離散值型別
enum定義的值是真正意義上的常量
sizeof是編譯器的內建指示符
sizeof不參與程式的執行過程
typedef用於給型別重新命名
重名的型別可以在typedef語句之後定義