برنامه نویسی C پیشرفته

Advanced C Programming

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: برنامه نویسی C برای برنامه نویسان C درک عالی و بسیار عمیق از اشاره گرها و مدیریت حافظه مهارت در استفاده از پیش پردازنده توانایی نوشتن کدهای ماژولار، قابل گسترش، خواندن و نگهداری درک نحوه استفاده از ساختارهای C (مانند ساختارها، اتحادیه ها، آرایه ها، ...) در مسائل واقعی 5 پروژه برای پوشش بیشتر مباحث مطرح شده از طریق دوره پیش نیازها: دانش برنامه نویسی C مقدماتی قبلی (نوشتن Hello World/انواع داده ها/در صورت شرایط/حلقه ها) بیش از حد کافی باشد.

از اینکه چند ثانیه برای بررسی دوره من وقت گذاشتید متشکرم.

اگر قبلاً یادگیری برنامه نویسی C را شروع کرده اید و اکنون کنجکاو هستید که در مورد آنچه در پشت صحنه اتفاق می افتد درک عمیقی داشته باشید، این دوره برای شما مناسب است.

رویکرد من در این دوره این است که هر موضوعی را ریشه‌یابی کنم و به جای مثال ساده از مثال‌های واقعی استفاده کنم.

از پیش پردازنده‌ها شروع می‌کنیم، نحوه عملکرد آن و نحوه اشکال‌زدایی آن با پرچم‌های کامپایلر خاص را بررسی می‌کنیم.

با رفتن به توابع، مدل اجرا را بررسی می‌کنیم و CPU چگونه فراخوانی‌های تابع، ارسال آرگومان، نحوه مدیریت متغیرهای محلی در پشته و موارد دیگر را بررسی می‌کند.

اشاره‌گرها! احتمالاً موضوعی است که بیشتر از همه از ابهام آن شناخته شده است. در این کلاس سعی می کنیم با مثال موارد را ساده کنیم. ما مفهوم تخصیص حافظه پویا را بررسی می کنیم و یک مدیر حافظه پویا را به عنوان مثال پیاده سازی می کنیم.

ما ساختارها و اتحادیه‌ها را بررسی می‌کنیم که با مثال‌های واقعی پوشش داده شده است.

ما مروری اجمالی در مورد طراحی مدولار و نحوه توسعه کد به گونه‌ای داریم که بتوان از آن دوباره استفاده کرد.

در پایان، ما یک نمونه ویرایشگر تصویر BMP را توسعه می‌دهیم، چند نمونه را که در طول دوره انجام داده‌ایم جمع‌آوری می‌کنیم.

نیازی به گفتن نیست که 30 روز ضمانت بازگشت پول دارید. اگر متوجه شدید که دوره برای شما مناسب نیست (قول می‌دهم که مناسب نیست)، می‌توانید آن را برگردانید و پول خود را دریافت کنید.


سرفصل ها و درس ها

مقدمه Introduction

  • آماده سازی محیط Preparing the environment

  • GCC در ویندوز GCC on Windows

  • فرآیند تدوین The compilation process

  • فایل های منبع پروژه ها Projects Source Files

پیش پردازنده C The C Preprocessor

  • بخشنامه #تعریف The #define directive

  • ماکروهای عملکردی Function-like macros

  • احتیاط با استفاده از ماکروهای تابع مانند CAUTION with using function-like macros

  • تعریف ماکروها از طریق کامپایلر Defining macros through compiler

  • ماکروهای از پیش تعریف شده Predefined macros

  • #شامل بخشنامه #include directive

  • #اگر بخشنامه #if directive

  • چند نکته در مورد #اگر Some notes about #if

توابع Functions

  • توابع توضیح داده شده است Functions explained

  • توابع نسخه ی نمایشی Functions Demo

  • متغیرهای محلی و جهانی Local and Global Variables

  • دمو دامنه و طول عمر Scope and Lifetime demo

  • مدل اجرای تابع Function Execution Model

  • نسخه نمایشی مدل اجرای تابع Function Execution Model Demo

  • فراخوان کنوانسیون Calling Convention

  • توابع تکراری در مقابل توابع بازگشتی Iterative vs Recursive Functions

  • توابع در مقابل ماکروهای تابع مانند Functions vs Function-like macros

  • عملکرد در مقابل اندازه کد Performance vs Code Size Trade-off

آرایه ها Arrays

  • مقدمه ای بر آرایه ها Introduction to Arrays

  • نکات مربوط به آرایه ها Notes on arrays

  • نحوه چیدمان آرایه ها در حافظه How arrays are arranged in the memory

  • ویژگی های آرایه ها Characteristics of Arrays

  • آرایه های دو بعدی و بالاتر 2D and higher dimensional arrays

  • موارد استفاده Real Life برای آرایه ها Real Life use cases for arrays

  • [پروژه]: بازی TicTacToe [PROJECT]: TicTacToe Game

  • [PROJECT]: اجرای بازی TicTacToe [PROJECT]: Implementing TicTacToe Game

  • گسترش TicTacToe Extending TicTacToe

اشاره گرها Pointers

  • مقدمه ای بر اشاره گر Introduction to Pointers

  • آرایه ها و اشاره گرها Arrays and Pointers

  • عملگرهای اشاره گر و ریخته گری اشاره گر Pointer operators and Pointer casting

کاربردهای رایج اشاره گرها Common Uses of Pointers

  • [مفهوم] عبور از ارزش در مقابل عبور از آدرس [Concept] Pass by Value vs Pass by Address

  • [مثال] عبور با ارزش در مقابل عبور با آدرس [Example] Pass by by Value vs Pass by Address

  • پارامترهای خروجی تابع Function output parameters

  • پاس/بازگرداندن آرایه به/از توابع Pass/Return an array to/from functions

  • [مفهوم] تخصیص حافظه پویا [Concept] Dynamic memory allocation

  • [مثال] تخصیص حافظه پویا [Example] Dynamic memory allocation

  • اندازه اپراتور sizeof operator

رشته ها Strings

  • چگونه رشته ها در C نشان داده می شوند How strings are represented in C

  • بایدها و نبایدهای رشته Strings Do's and Don'ts

  • توابع دستکاری رشته استاندارد Standard string manipulation functions

اشاره گرهای پیشرفته Advanced Pointers

  • موضوعات پیشرفته اشاره گر Advanced Pointer Topics

  • Use Case: گرفتن آرگومان های ورودی Use Case: Capturing input arguments

ساختارها و اتحادیه ها Structures and Unions

  • مقدمه ای بر سازه ها Introduction to Structures

  • انتقال/بازگشت ساختارها به/از توابع Passing/Returning structures to/from functions

  • آرایه های سازه ها Arrays of Structures

  • اشاره گر به سازه ها Pointer to Structures

  • ساختارهای تو در تو Nested structures

  • بسته بندی و بالشتک Packing and Padding

  • [PROJECT] Memory Manager - Theory [PROJECT] Memory Manager - Theory

  • [PROJECT] Memory Manager - Lab [PROJECT] Memory Manager - Lab

  • [PROJECT] کتابخانه تجزیه‌کننده استدلال ورودی [PROJECT] Input Argument Parser Library

پروژه: منو PROJECT: Menu

  • [PROJECT] منو - تئوری [PROJECT] Menu - Theory

  • [PROJECT] منو - آزمایشگاه [PROJECT] Menu - Lab

  • چرا باید از ورودی[4] با fgets استفاده کرد Why to use input[4] with fgets

  • اتحادیه ها و بهبود منو Unions and Menu Improvement

انواع تعریف شده توسط کاربر User Defined Types

  • Enums Enums

  • Typedef Typedef

مدیریت فایل File Management

  • مدیریت فایل File Management

  • حالت های باز کردن فایل Modes of file opening

  • استفاده از fprintf The usage of fprintf

[PROJECT] ویرایشگر فایل بیت مپ [PROJECT] Bitmap File Editor

  • نظریه Theory

  • آزمایشگاه Lab

  • آزمایشگاه - کنتراست یک تصویر بیت مپ دلخواه را تغییر دهید Lab - Change the contrast of an arbitrary bitmap image

  • به فایل بیت مپ استفاده شده در این مثال توجه کنید Note on the bitmap file used in this example

  • ایده های بیشتری در مورد پروژه Bitmap برای تمرین خودتان More ideas on Bitmap project for your own practice

نمایش نظرات

برنامه نویسی C پیشرفته
جزییات دوره
8 hours
69
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
1,095
4.8 از 5
ندارد
دارد
دارد
Ahmed Adel
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Ahmed Adel Ahmed Adel

همه چیز درست می شود، به یادگیری ادامه دهید

سلام، من احمد هستم، یک برنامه نویس، مدرس و تولید کننده محتوا و از اشتراک گذاری دانش خود و کمک به دیگران برای موفقیت در سفرهای یادگیری خود لذت می برم. برای من، یادگیری فقط به چیزهایی که یاد می گیرید نیست، بلکه به نحوه یادگیری آن نیز بستگی دارد. به همین دلیل است که من اینجا هستم تا شما را در هر مرحله راهنمایی کنم، و مطمئن شوم که مهارت‌های جدید را با سهولت و اطمینان به دست می‌آورید.

چه مبتدی یا یک یادگیرنده باتجربه باشید، قول می‌دهم هر چیزی که در دوره‌های من کشف خواهید کرد به روشی ساده و قابل درک ارائه خواهد شد. بنابراین نگران نباشید - شما در دستان خوبی هستید و در آستانه آغاز یک سفر هیجان انگیز یادگیری و رشد هستید!