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

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

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

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

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

به مثال زیر دقت کنید:

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

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

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

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

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

روش اول

}<ساختمان>struct

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

;{

روش دوم

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

}struct

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

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

روش سوم

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

}‌typedef struct

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

;اسم جدید{

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

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

در

روش اول

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

در

روش سوم

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

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

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

 

امیدوارم این نوشته‌ برایتان مفید باشد.

 

منبع:  میکرودیزاینرالکترونیک

 

مطلب قبلیراه اندازی واحد USART میکروکنترلرهای PIC
مطلب بعدیآشنایی با محیط PCB در آلتیوم دیزاینر

پاسخ دهید

لطفا نظر خود را وارد کنید!
لطفا نام خود را در اینجا وارد کنید