برنامه نویسی 20 بازدید

در این مقاله با ساختارهای ++C آشنا می‌شویم. به این ترتیب به توضیح مفهوم ساختار در این زبان برنامه‌نویسی، شیوه تعریف آن و کاربردشان در برنامه‌ها می‌پردازیم. برای مطالعه بخش قبلی این سری مقالات روی لینک زیر کلیک کنید:

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

برای مثال فرض کنید می‌خواهید نوعی اطلاعات در مورد یک فرد ذخیره کنید که شامل نام وی، شماره ملی و میزان حقوقش می‌شود. به این منظور می‌توان متغیرهای مختلفی به صورت name ،citNo و salary برای ذخیره‌سازی مجزای این اطلاعات ایجاد کرد.

با این حال در ادامه ممکن است بخواهید این اطلاعات را برای افراد متفاوتی ذخیره کنید. در این حالت باید متغیرهای مختلفی برای اطلاعات هر فرد به صورت name1 ،citNo1 ،salary1 ،name2 ،citNo2 ،salary2 بسازید.

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

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

این مجموعه از همه اطلاعات به هم مرتبط تحت یک نام منفرد Person به صورت «ساختار» (Structure) نامیده می‌شود.

اعلان ساختار در زبان برنامه‌نویسی ++C

کلیدواژه struct یک نوع ساختار را تعریف می‌کند و در ادامه یک شناسه به صورت نام ساختار ارائه می‌شود. سپس درون آکولاد می‌توان یک یا چند عضو ساختار را اعلان کرد. متغیرها درون آکولادها اعلان می‌شوند. به مثال زیر توجه کنید:

در ادامه یک ساختار person را می‌بینید که دارای سه عضو به صورت name ،age و salary است. زمانی که یک ساختار ایجاد می‌شود، هنوز هیچ حافظه‌ای تخصیص نیافته است.

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

عبارت int تعیین می‌کند که متغیر foo می‌تواند صرفاً عناصر عدد صحیح را در خود جای دهد. به طور مشابه تعریف ساختار نیز متغیرهایی که می‌توانند درون ساختار جای بگیرند را تعریف می‌کند.

نکته: در انتهای اعلان ساختار باید از نقطه‌ویرگول (;) استفاده کنید.

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

هنگامی که ساختار person را به صورت فوق تعریف کردید، می‌توانید متغیرهای این ساختار را نیز به صورت زیر تعریف کنید:

به این ترتیب متغیر ساختار bill تعریف می‌شود که از نوع Person است. تنها زمانی که متغیر ساختار تعریف شد، تخصیص حافظه از سوی کامپایلر انجام می‌شود.

فرض کنید یک سیستم 32 بیت یا 64 بیت دارید و حافظه متغیر float چهار بایت و متغیر int چهار بایت است و متغیر char تنها 1 بایت از حافظه اشغال می‌کند. بدین ترتیب برای متغیر ساختار bill باید 58 بایت از حافظه تخصیص پیدا کند.

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

با استفاده از عملگر نقطه (.) می‌توان به اعضای متغیر ساختار دسترسی پیدا کرد. فرض کنید می‌خواهید به age در متغیر ساختار bill دسترسی بیابید و مقدار آن را 50 تعیین کنید. به این منظور می‌توانید از کد زیر استفاده کنید:

مثال‌هایی از ساختارهای ++C

برنامه ++C زیر برای انتساب داده‌ها به اعضای متغیر ساختار و نمایش آن طراحی شده است:

خروجی

در این کد ساختار Person اعلان می‌شود که سه عضو name ،age و salary دارد. درون تابع ()main یک متغیر ساختار p1 تعریف شده است. سپس از کاربر خواسته می‌شود که اطلاعات مورد نیاز را وارد کند و در گام بعدی این اطلاعات به نمایش در می‌آیند.

اگر این مطلب برای شما مفید بوده است، آموزش‌های زیر نیز به شما پیشنهاد می‌شوند:

==

به عنوان حامی، استارتاپ، محصول و خدمات خود را در انتهای مطالب مرتبط مجله فرادرس معرفی کنید.

telegram
twitter

میثم لطفی

«میثم لطفی» دانش‌آموخته کارشناسی ریاضیات کاربردی و شیفته فناوری به خصوص در حوزه رایانه است. وی در حال حاضر علاوه بر پیگیری همه علاقه‌مندی‌های خود در رشته‌های برنامه‌نویسی، کپی‌رایتینگ و تولید محتوای چندرسانه‌ای، در زمینه نگارش مقالاتی با محوریت نرم‌افزار نیز با مجله فرادرس همکاری دارد.

آیا این مطلب برای شما مفید بود؟

نظر شما چیست؟

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