دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۲۵
  • اسفند

جلسه ۱۷ : ساختارها در C

  • دسته‌بندی‌ها :
جلسه ۱۷ : ساختارها در C
    • جزئیات
    • نوع محتواآموزشی

      مقدمه

      با سلام خدمت تمامی دوستان عزیز سایت پی وی لرن .و کاربرانی که دوره کامل آموزش زبان C را دنبال می کنند. و کاربرانی که با سری آموزش های زبان C همراهمون هستند.در این جلسه به ساختارها در C , اشاره گر به ساختار , دسترسی به اعضای ساختارها در C و … می پردازیم

      ساختارها در C

      آرایه ها اجازه می دهد نوع متغیرهایی را که می توانند چندین داده مشابه را داشته باشند تعریف کنید.به طور مشابه، ساختار نوع دیگری از داده های تعریف شده در C است که اجازه می دهد تا موارد متفاوتی از داده ها را ترکیب کنیم. بعبارتی آرایه ها می توانند یک نوع داده داشته باشندو همه عناصر داده باید از این نوع باشند.ولی ساختارها اجازه می دهند تا انواع داده مختلف را در یک مجموعه داشته باشیم.فرض کنید میخواهید کتابهای خود را در یک کتابخانه پیگیری کنید. شما ممکن است بخواهید ویژگی های زیر را در مورد هر کتاب دنبال کنید.

      • عنوان (Title)
      • نویسنده (Author)
      • موضوع (Subject)
      • شناسه (Id)

      تعریف یک ساختار

      برای تعریف یک ساختار، باید از عبارت struct استفاده کنید.عبارت struct یک نوع داده جدید را با بیش از یک عضو تعریف می کند. فرمت عبارت struct به شرح زیر است .

      مثال : 

      structure tag اختیاری است و تعریف هر عضو ساختار مانند یک تعریف متغیر عادی است، مانند int i؛یا شناور f؛ یا هر تعریف دیگری از متغیر معتبر.

      در انتهای تعریف ساختار، قبل از آخرین سمی کالن، می توانید یک یا چند متغیر ساختاری را مشخص کنید، اما اختیاری است. در اینجا نحوه ساخت ساختار کتاب را توضیح می دهیم.
      مثال : 

      دسترسی به اعضای ساختارها در C

       برای دسترسی به هر عضو ساختار،از عملگر دسترسی عضو (.) استفاده می کنیم.عملگر دسترسی عضو به عنوان یک دوره بین نام متغیر ساختار و عضو ساختاری که ما مایل به دسترسی آن هستیم، کدگذاری می شود.شما می توانید از struct برای تعریف متغیرهای نوع ساختار استفاده کنید.مثال زیر نشان می دهد که چگونه از یک ساختار در یک برنامه استفاده کنید .
      مثال : 

      بعد از کامپایل و اجرای برنامه نتیجه زیر را خواهیم دید.
      مثال : 

      ساختار به عنوان آرگومان تابع

      شما می توانید یک ساختار را به یک تابع منتقل کنید همانطور که هر متغیر یا اشاره گر دیگر را منتقل می کنید.

      مثال : 

      بعد از کامپایل و اجرای برنامه نتیجه زیر را خواهیم دید.

      مثال : 

      اشاره گر به ساختار

      شما می توانید اشاره گر به ساختار را همانطور که اشاره گر را به هر متغیر دیگر تعریف می کنید تعریف کنید.

      مثال : 

      حالا شما می توانید آدرس متغیر ساختاری را در متغیر اشاره گر بالا تعریف کنید. برای پیدا کردن آدرس یک متغیر ساختاری،از عملگر ‘&’؛  قبل از نام ساختار استفاده کنید.

      مثال : 

      بگذارید مثال بالا را دوباره با استفاده از اشاره گر به ساختار بنویسیم.

      مثال : 

      بعد از کامپایل و اجرای برنامه نتیجه زیر را خواهیم دید.

      مثال : 

      Bit Field ها

      متغیری که با تعداد بیت مشخص شده تعریف شود، Bit Field نامیده می شود.Bit Field ها سطوح بیتی بسته بندی داده ها را در یک ساختار امکان پذیر می سازد. این به خصوص هنگامی مفید است که حافظه و یا ذخیره سازی داده اشغال باشد.

      بسته بندی چندین اشیاء در یک کلمه . به عنوان مثال، پرچم های ۱ بیتی می توانند فشرده شوند.

      خواندن فرمت های فایل خارجی – فرمت های فایل غیر استاندارد می توانند خوانده شوند، به عنوان مثال، عدد صحیح ۹ بیتی.

      C به ما اجازه می دهد این کار را با تعریف ساختار انجام دهیم : طول بیت بعد از متغیر.

      مثال : 

      در اینجا packageed_struct شامل ۶ عضو است: چهار پرچم ۱ بیتی f1..f4، یک نوع ۴ بیتی و یک my_int  نه بیت را اشغال می کنند.

      C به صورت خودکار فیلدهای بیتی بالا با فشردگی ممکن بسته بندی می کند، در صورتی که حداکثر طول فیلد کمتر یا برابربا طول کلمه integer باشد.اگر این مورد نباشد، بعضی از کامپایلرها ممکن است اجازه دهند که حافظه برای فیلدها اشتراک داشته باشند در حالی که دیگران فیلد بعدی را در کلمه بعدی ذخیره می کنند.

      کلام پایانی

      خوشحالیم ازاینکه در این مجموعه آموزشها همراه ما هستید.مبحث ساختارها در C هم به پایان رسید. جلسه بعد را با Unions همراهتون هستیم.امیدوارم مفید واقع شده باشد.

       

      QR:  جلسه ۱۷ : ساختارها در C
      به اشتراک بگذارید