1 00:00:00,000 --> 00:00:04,970 2 00:00:04,970 --> 00:00:07,220 DOUG لويد: حتى إذا كنت قد شهدت لدينا شريط فيديو على الهياكل، 3 00:00:07,220 --> 00:00:10,950 تعلمون أن لدينا القدرة على تحديد أنواع البيانات الخاصة بنا. 4 00:00:10,950 --> 00:00:14,530 ولكن إذا قمت الهياكل المستخدمة، وانت تعرف أنه في بعض الأحيان استخدام تلك الأنواع البيانات 5 00:00:14,530 --> 00:00:16,446 يمكن أن يكون في الواقع قليلا مرهقة لأننا 6 00:00:16,446 --> 00:00:19,210 لديك لاستخدام الكلمة البنية عندما كنا نعمل مع them-- 7 00:00:19,210 --> 00:00:21,257 سيارة بنية أو بنية الطالب. 8 00:00:21,257 --> 00:00:23,090 وهذا يعني الكثير لكتابة إذا كنا نريد فقط أن يكون 9 00:00:23,090 --> 00:00:24,830 شيء بسيط، مثل هيكل. 10 00:00:24,830 --> 00:00:26,390 نريد أن have-- نريد أن تكون قادرة على العمل مع الأشياء 11 00:00:26,390 --> 00:00:29,350 وسيلة أكثر الاختزال قليلا، مثل صحيح أو حرف، شيئا كثيرا 12 00:00:29,350 --> 00:00:31,240 أكثر ملاءمة للكتابة. 13 00:00:31,240 --> 00:00:33,100 >> لحسن الحظ، هناك طريقة للقيام بذلك في C، 14 00:00:33,100 --> 00:00:37,150 مع ما يسمى typedef والذي هو وسيلة لخلق الاختزال أو إعادة كتابة 15 00:00:37,150 --> 00:00:38,640 أسماء لأنواع البيانات. 16 00:00:38,640 --> 00:00:40,720 يمكنك إعادة كتابة البيانات أنواع موجودة بالفعل، 17 00:00:40,720 --> 00:00:43,970 أو يمكنك الكتابة أنواع البيانات الخاصة بك. 18 00:00:43,970 --> 00:00:46,890 >> أول شيء عليك القيام به هو لك تعريف نوع بالطريقة العادية، 19 00:00:46,890 --> 00:00:52,271 ثم كنت مجرد الاسم المستعار إلى شيء else-- typedef واسم الاسم الجديد القديم. 20 00:00:52,271 --> 00:00:53,520 جميلة واضحة، أليس كذلك؟ 21 00:00:53,520 --> 00:00:56,240 حتى نتمكن من typedef وعلى سبيل المثال، البيانات الموجودة بالفعل 22 00:00:56,240 --> 00:01:00,266 نوع الحرف غير الموقعة كما بايت. 23 00:01:00,266 --> 00:01:03,140 وبعد ذلك، من الآن فصاعدا، وبعد أن قمت جعل هذا النوع definition-- مرة أخرى، 24 00:01:03,140 --> 00:01:07,570 التي عادة ما سوف يكون على رأس من نقطة ملفاتنا C، أو في H ملف نقطة 25 00:01:07,570 --> 00:01:10,590 بشكل منفصل، يمكننا فقط استخدام دغة في كل مكان 26 00:01:10,590 --> 00:01:12,180 كنا قد تستخدم الحرف غير الموقعة. 27 00:01:12,180 --> 00:01:14,300 هذا هو أقصر كثيرا للكتابة. 28 00:01:14,300 --> 00:01:19,280 >> في مكتبة CS50، ونحن نفعل this-- نحن typedef ونجمة شار كسلسلة. 29 00:01:19,280 --> 00:01:21,400 لأننا تستخرج بعيدا عن فكرة من المؤشرات. 30 00:01:21,400 --> 00:01:25,072 والواقع أن سلسلة حقا مؤشر إلى character-- أولا 31 00:01:25,072 --> 00:01:26,780 مجموعة من الشخصيات، لأنه فقط 32 00:01:26,780 --> 00:01:29,863 مربكة جدا للحصول على رأسك حول هكذا- يضرب ولكن في الواقع هذا ما نقوم به. 33 00:01:29,863 --> 00:01:35,140 وهذا سطر من التعليمات البرمجية موجود بالفعل في CS50 نقطة H typedef وسلسلة نجمة شار، 34 00:01:35,140 --> 00:01:39,021 فقط لجعل هذا أقل قليلا مرهقة لديك للتعامل معها. 35 00:01:39,021 --> 00:01:41,520 إذا كنت قد رأيت ربما قليلا من القيمة هنا، 36 00:01:41,520 --> 00:01:44,160 ولكن typedef ويصبح عظيم عندما جنبا إلى جنب مع الهياكل، 37 00:01:44,160 --> 00:01:45,780 كما أشرت إليه سابقا. 38 00:01:45,780 --> 00:01:48,550 هياكل لها اسم نوع من كلمتين. 39 00:01:48,550 --> 00:01:52,020 وحتى أنها يمكن أن تكون مزعجة حقا لإنشاء متغيرات من هذا النوع، 40 00:01:52,020 --> 00:01:56,310 أو (غير مسموع) من شيء البنية، الخاص بك خطوط يمكن أن مجرد الحصول على حقا، حقا طويل. 41 00:01:56,310 --> 00:01:59,400 وهكذا يمكنك استخدام الرموز المميزة ل typedef القادمة بشيء أقصر كثيرا. 42 00:01:59,400 --> 00:02:04,650 >> حتى لو كنت تعرف سيارة على النحو التالي، ولدي تعريفي للسيارة البنية car--، 43 00:02:04,650 --> 00:02:07,230 ثم قم بفتح متعرج، كل مجالات البنية بلدي، 44 00:02:07,230 --> 00:02:11,030 متعرج وثيق، وشبه colon--- بعد أن قمت بتعريف نوع البيانات الخاصة بي، 45 00:02:11,030 --> 00:02:15,680 أستطيع أن typedef والبنية السيارة كما تسطير سيارة تي. 46 00:02:15,680 --> 00:02:19,670 ثم عندما كنت قد فعلت ذلك، والآن كل البنية الوقت كنت قد استخدمت على خلاف ذلك 47 00:02:19,670 --> 00:02:22,680 سيارة، ويمكنني أن مجرد استخدام سيارة تسطير ر. 48 00:02:22,680 --> 00:02:26,480 هذا هو أقصر كثيرا من وسيلة ل التعبير عن هذه الفكرة من هذا الهيكل 49 00:02:26,480 --> 00:02:28,530 بأنني خلقت للتو. 50 00:02:28,530 --> 00:02:33,620 >> بدلا من ذلك، لأن الهياكل وهكذا تستخدم عادة في typedef و، 51 00:02:33,620 --> 00:02:37,980 هناك a-- يمكنك تحديد الواقع اكتب ما بين بداية ونهاية. 52 00:02:37,980 --> 00:02:42,020 وبالتالي فإن بنية typedef ومرة ​​اخرى عادة typedef و، الاسم القديم، اسم جديد، 53 00:02:42,020 --> 00:02:45,360 حيث الأسماء بالفعل الأنواع التي قمت بإنشائها. 54 00:02:45,360 --> 00:02:49,620 ولكن يمكنك تحديد الواقع هيكل الحق في منتصف typedef و 55 00:02:49,620 --> 00:02:51,760 بدلا من الاضطرار إلى تعريف بشكل منفصل، ثم 56 00:02:51,760 --> 00:02:52,990 القيام typedef ومنه. 57 00:02:52,990 --> 00:02:55,780 والتي من شأنها أن تبدو وكأنها مجرد this-- typedef وسيارة البنية، 58 00:02:55,780 --> 00:02:59,957 متعرج مفتوحة، كل من مجال عملك التعاريف، بالقرب متعرج، سيارة تي. 59 00:02:59,957 --> 00:03:03,290 لذلك الاسم القديم هو كل هذه الأشياء في الأحمر، كنت مجرد تحديد هيكل 60 00:03:03,290 --> 00:03:05,610 وتسمية ذلك في نفس الوقت. 61 00:03:05,610 --> 00:03:07,790 ثم الاسم الجديد هو تسطير سيارة تي. 62 00:03:07,790 --> 00:03:10,150 وحتى إذا نبدأ في استخدام هذا في التعليمات البرمجية، سابقا I 63 00:03:10,150 --> 00:03:13,279 ربما قال، بنية سيارة mycar منقوطة. 64 00:03:13,279 --> 00:03:14,820 حسنا أنا لم يكن لديك للقيام بذلك بعد الآن. 65 00:03:14,820 --> 00:03:20,265 والآن، لقد استخدمت الرموز المميزة ل typedef، I يمكن أن أقول ر تسطير سيارة، mycar. 66 00:03:20,265 --> 00:03:22,640 هذا هو أقصر كثيرا من طريقة للقيام بذلك، في واقع الأمر، فإنه من 67 00:03:22,640 --> 00:03:24,515 ستكون أكثر بكثير مريحة، خصوصا 68 00:03:24,515 --> 00:03:27,730 كما يمكنك البدء في استخدام الهياكل الكثير في التعليمات البرمجية. 69 00:03:27,730 --> 00:03:28,810 >> أنا دوغ ويد. 70 00:03:28,810 --> 00:03:30,640 هذا هو CS50. 71 00:03:30,640 --> 00:03:32,415