خانه / برنامه نویسی / ساختمان یا استراکچر (struct) در زبان برنامه نویسی C

ساختمان یا استراکچر (struct) در زبان برنامه نویسی C

خوب در یک پرشی که برای توضیح در مورد ساختمان ها داشتیم من این نوشته را باز کردم تا در درک ادامه مطلب کتابخانه CMSIS مشکلی نداشته باشید

ساختمان چیست؟

اگر آشنایی با زبان برنامه نویسی C داشته باشید حتما در مورد آرایه ها می دانید

تفاوت آرایه با ساختمان در این است که آرایه فقط می تواند یک نوع داده را به تعداد مورد نیاز در خود ذخیره کند ولی ساختمان می تواند انواع داده را در خود ذخیره کند

به مثال زیر که در بخش سوم مبحث کتابخانه CMSIS  نیز به آن اشاره کردیم دقت کنید

ساختمان یا استراکچر (struct)

در این مثال داده ها که همان رجیستر ها هستند با نوع داده unit32_t و به صورت __IO تعریف شده اند

unit32_t همان int است و ۳۲ بیت اشغال می کند و __IO معنی خواندنی و نوشتنی می دهد . استثناً در این مثال همه داده ها از نوع unit32_t هستند ولی ممکن است متفاوت باشد و از آرایه و حتی از خود ساختمان در ساختمان دیگر نیز استفاده شود.

نکته قابل به ذکر قرار گیری ساختمان ها به ترتیب پشت سر هم است . یعنی داده اول اگر با توجه به مثال از ۰x00 شروع شود با توجه به اینکه ۳۲ بیتی (۴ بایت) است داده بعدی در آدرس ۰x04 قرار می گیرد

حتما در ادامه این مطلب را هم بخوانید:  کتابخانه CMSIS بخش سوم(نهایی)

نحوه تعریف ساختمان

روش اول

}<ساختمان>struct

عناصر ساختمان

;{

روش دوم

در این روش متغیر های ساختمان در انتهای تعریف ساختمان مشخص می شود

}struct

عناصر ساختمان

;اسامی متغیر های ساختمان{

روش سوم

در این روش می توان از اسم جدید برای تعریف متغیر های دیگر استفاده کرد

}‌typedef struct

عناصر ساختمان

;اسم جدید{

ساختمان به ; ختم می شود

تعریف متغیر از نوع ساختمان

در

روش اول

  ;<اسامی متغیر های از نوع ساختمان><ساختمان>struct

در

روش سوم

;<اسامی متغیر><اسم جدید>

نحوه دسترسی به عناصر ساختمان

<عنصر><اسم متغیر از نوع ساختمان>

خوب برگردیم سر بحث کتابخانه CMSIS

مطالب آموزشی مرتبط:

کتابخانه CMSIS بخش اول

کتابخانه CMSIS بخش دوم

کتابخانه CMSIS بخش سوم(نهایی)

پردازنده های ARM

این نوشته را با دوستانتان در تلگرام به اشتراک بگذارید :

درباره ی علیرضا صادقی

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

3 × 5 =