道格·劳埃德:所以如果你 看到的结构我们的视频, 你已经知道,我们有 定义我们自己的数据类型的能力。 但是,如果你使用的结构,你知道 有时使用这些数据类型 实际上一点 麻烦,因为我们 必须使用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,mycar。 这是一个很大的一种方式更短 做到这一点,而实际上,这是 要多很多 方便,特别是 当你开始使用结构 很多在你的代码了。 我是道格·劳埃德。 这是CS50。