道格·劳埃德：所以如果你 看到的结构我们的视频，
你已经知道，我们有 定义我们自己的数据类型的能力。
但是，如果你使用的结构，你知道 有时使用这些数据类型
实际上一点 麻烦，因为我们
必须使用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。