1 00:00:00,000 --> 00:00:04,970 2 00:00:04,970 --> 00:00:07,220 داگ لوید: بنابراین اگر شما ویدئو های ما دیده می شود در سازه ها، 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 کمی راه مختصر تر، مانند int یا کاراکتر، چیزی زیادی 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 خیلی گیج کننده است به دست آوردن سر خود را در اطراف that-- اما در واقع این چیزی است که ما انجام می دهیم. 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 خودرو به عنوان زیرین خودرو T. 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 و لازم است که درست مثل نگاه از typedef this-- ماشین ساختار، 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 و پس از آن نام جدید تاکید ماشین T است. 62 00:03:07,790 --> 00:03:10,150 خوب اگر ما شروع به استفاده از این در کد، قبلا من 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 استفاده می شود، من می توانید فقط می گویند زیرین خودرو T، 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