کدنامهمرجع‌های مهندسی نرم‌افزار، به فارسی

زبان C

C

‏C کوچک است: بیست‌وچند کلیدواژه و تقریباً هیچ چیز پنهانی. همین باعث می‌شود سخت‌ترین و آموزنده‌ترین زبان برای یادگیری باشد — چون هیچ‌چیز را برایت انجام نمی‌دهد. اگر C را بفهمی، بعد از آن هر زبانی به نظرت یک راحتی لوکس می‌آید، و می‌دانی آن راحتی دقیقاً چه چیزی را پنهان می‌کند.

۱۶فصل
۲۵۵تمرین با پاسخ
≈ ۲۵ ساعتزمان تخمینی
۳پروژهٔ نهایی

پیشرفت تو

۰٪

درصد هر فصل از دو چیز می‌آید: چقدر از بخش‌هایش را خوانده‌ای (۵۵٪) و چند تمرینش را تیک زده‌ای (۴۵٪). همه‌چیز داخل مرورگر خودت می‌ماند.

فصل

فصل‌ها به هم وابسته‌اند و ترتیبشان معنا دارد. هر مسیر با پروژه‌های نهایی تمام می‌شود: ساده، متوسط، پیچیده.

۱

چرا هنوز C

کجا استفاده می‌شود و چرا جایگزین نشده.

در نوبت نوشتن
۲

نوع، متغیر، عملگر

اندازهٔ نوع‌ها و سرریز.

در نوبت نوشتن
۳

کنترل جریان

شرط، حلقه، switch و goto.

در نوبت نوشتن
۴

تابع و پشته

فراخوانی، بازگشت و frame پشته.

در نوبت نوشتن
۵

اشاره‌گر

مهم‌ترین فصل. آدرس، مرجع‌گیری و حساب اشاره‌گر.

در نوبت نوشتن
۶

آرایه و رشته

چرا آرایه در C اشاره‌گر است و رشته پایان‌یافته با صفر.

در نوبت نوشتن
۷

مدیریت حافظه

‏malloc، free، نشتی و استفادهٔ پس از آزادسازی.

در نوبت نوشتن
۸

‏struct و union

چیدمان حافظه و padding.

در نوبت نوشتن
۹

فایل و ورودی/خروجی

خواندن، نوشتن و باینری.

در نوبت نوشتن
۱۰

پیش‌پردازنده

‏#define، #include و ماکرو.

در نوبت نوشتن
۱۱

ساختمان داده با اشاره‌گر

لیست پیوندی، درخت و پشته — از صفر.

در نوبت نوشتن
۱۲

کامپایل و Make

مراحل کامپایل، لینک و Makefile.

در نوبت نوشتن
۱۳

اشکال‌زدایی

‏gdb، valgrind و segfault.

در نوبت نوشتن
۱۴

پروژهٔ ۱ — ابزار خط فرمان

پردازش فایل با مدیریت حافظهٔ درست.

در نوبت نوشتنپروژهٔ ساده
۱۵

پروژهٔ ۲ — ساختمان داده

‏hash table کامل با تست.

در نوبت نوشتنپروژهٔ متوسط
۱۶

پروژهٔ ۳ — مفسر کوچک

‏tokenizer، parser و ارزیاب.

در نوبت نوشتنپروژهٔ پیچیده