道格·勞埃德:所以如果你 看到的結構我們的視頻, 你已經知道,我們有 定義我們自己的數據類型的能力。 但是,如果你使用的結構,你知道 有時使用這些數據類型 實際上一點 麻煩,因為我們 必須使用struct關鍵字 當我們正在與them-- 汽車結構或結構的學生。 這是很多輸入 如果我們只是想有 簡單的東西,就像一個結構。 我們希望have--我們要 能夠與工作的事情 多一些速記的方式, 如int或字符,某事 更方便地輸入。 幸運的是, 一個辦法做到這一點在C, 利用所謂的typedef,這是 一種方法來創建簡寫或改寫 名數據類型。 你可以重寫數據 已經存在的類型, 或者你可以寫你自己的數據類型。 你要做的第一件事就是你 以正常的方式定義一個類型, 然後你只需將其別名的東西 else--的typedef舊名新名稱。 很簡單,對不對? 因此,我們可以的typedef例如, 已經存在的數據 unsigned char類型的字節。 然後,從現在開始,以後我們已經 再次進行這種類型的definition--, 這通常將是在頂部 我們點的C文件,或在一個點.h文件 另外,我們可以只 使用咬牙到處 我們會用unsigned char型。 這是一個很多更短的輸入。 在CS50的圖書館,我們做this-- 我們的typedef的char明星作為字符串。 因為我們抽象 指針離開的想法。 而事實上,一個字符串是真的 一個指向第一character-- 字符數組, 因為它只是 如此混亂圍繞讓你的頭 that--但實際上這就是我們要做的。 而這行代碼確實存在 在CS50點^ h的typedef的char明星串, 只是為了讓那個少一點 麻煩要處理。 已經你見過可能是 價值點點這裡, 但類型定義變大 當與結構結合起來, 正如我前面提到。 結構有兩個詞的類型名稱。 因此,他們可真煩人 創建該類型的變量, 的結構的東西或[聽不清],您的 線可以只拿到好長好長。 所以你可以使用typedef來 與一些短了很多。 所以,如果我定義了一個汽車如下,我有 我的定義中car--結構車, 然後打開大括號,所有 我的結構的字段, 接近大括號,半colon-- 我定義我的數據的類型後, 我可以typedef結構 汽車作為​​汽車下劃線噸。 然後當我做到了這一點,現在每 一次,我會以其它方式使用結構 車,我就可以使用汽車下劃線噸。 這是一個很大的一種方式,以更短 表達這種想法這種結構 我剛剛創建。 另外,由於結構 如此常用的類型定義使用, 有A--實際上你可以定義 的開始和結束之間鍵入。 所以typedef的結構又是 通常的typedef,舊名稱,新名稱, 其中姓名是已經 您創建的類型。 但實際上你可以定義一個結構 就在類型定義的中間 而不必限定 它單獨,然後 做它的類型定義。 這看起來就像 this-- typedef結構的汽車, 大括號,你的所有領域 定義,接近大括號,汽車噸。 因此,舊名稱是所有的東西在 紅色,你只是定義結構 並將其命名為在同一時間。 然後將新的名稱 現車下劃線噸。 所以,如果我們開始使用 在代碼中,以前我 可以說,結構 車mycar分號。 好吧,我就不必再這樣了。 現在,我已經使用的typedef,我 只能說汽車下劃線T,my​​car。 這是一個很大的一種方式更短 做到這一點,而實際上,這是 要多很多 方便,特別是 當你開始使用結構 很多在你的代碼了。 我是道格·勞埃德。 這是CS50。