structure یا ساختار در برنامه نویسی C

رتبه: 0 ار 0 رای sssss
ساختار در سی
نویسنده: میلاد حیدری زمان مطالعه 3 دقیقه

در این آموزش با انواع ساختار (structure) در برنامه نویسی C آشنا خواهید شد و نحوه تعریف ساختارها و استفاده از آنها را با کمک مثال های مختلف یاد خواهید گرفت.

در برنامه نویسی C، یک ساختار مجموعه ای از متغیرها (از انواع مختلف) تحت یک نام واحد است.

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

قبل از ایجاد متغیرهای ساختار باید نوع داده آن را تعریف کنید. برای تعریف ساختار از کلمه کلیدی struct استفاده می شود.

نحوه نوشتن struct

struct نام ساختار

{

نوع داده عضو۱;

نوع داده عضو۲;

};

مثال

struct Person

{

char name[50];

int citNo;

float salary;

};

در اینجا، struct Person یک نوع داده مشتق است، حالا می توانید متغیرهایی از این نوع تعریف کنید.

ایجاد متغیرهای struct

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

در اینجا نحوه ایجاد و تعریف متغیرهای ساختار آورده شده است:

struct Person

{

char name[50];

int citNo;

float salary;

};

int main()

{

struct Person person1, person2, p[20];

return 0;

}

یک روش دیگر برای ایجاد متغیر ساختار،

struct Person

{

char name[50];

int citNo;

float salary;

} person1, person2, p[20];

در هر دو حالت، دو متغیر person1، person2 و متغیر آرایه ای p با ۲۰ عنصر از نوع struct Person ایجاد شده است.

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

برای دسترسی به اعضای یک ساختار دو نوع عملگر وجود دارد.

۱- عملگر .، عملگر عضو

۲- عملگر ->، عملگر اشاره گر ساختار (در آموزش بعدی بحث خواهد شد)

فرض کنید می خواهید به salary برای person2 دسترسی پیدا کنید:

person2.salary

مثال: محاسبه مجموع دو فاصله

// جمع دو فاصله

#include <stdio.h>

struct Distance

{

int feet;

float inch;

} dist1, dist2, sum;

int main()

{

printf(“1st distancen”);

printf(“Enter feet: “);

scanf(“%d”, &dist1.feet);

printf(“Enter inch: “);

scanf(“%f”, &dist1.inch);

printf(“2nd distancen”);

printf(“Enter feet: “);

scanf(“%d”, &dist2.feet);

printf(“Enter inch: “);

scanf(“%f”, &dist2.inch);

// feet جمع برحسب

sum.feet = dist1.feet + dist2.feet;

// inch جمع برحسب

sum.inch = dist1.inch + dist2.inch;

// تبدیل می شود feet بزرگتر از ۱۲ است، به inch اگر

while (sum.inch >= 12)

{

++sum.feet;

sum.inch = sum.inch – 12;

}

printf(“Sum of distances = %d’-%.1f””, sum.feet, sum.inch);

return 0;

}

خروجی

۱st distance

Enter feet: 12

Enter inch: 7.9

۲nd distance

Enter feet: 2

Enter inch: 9.8

Sum of distances = 15′-5.7″

کلمه کلیدی typedef

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

این کد

struct Distance{

int feet;

float inch;

};

int main() {

struct Distance d1, d2;

}

معادل کد زیر است،

typedef struct Distance{

int feet;

float inch;

} distances;

int main() {

distances d1, d2;

}

ساختارهای تودرتو

در برنامه نویسی C می توانید یک ساختار را در ساختار دیگری استفاده کنید. مثال،

struct complex

{

int imag;

float real;

};

struct number

{

struct complex comp;

int integers;

} num1, num2;

فرض کنید می خواهید متغیر imag را برای num2 روی ۱۱ تنظیم کنید. به صورت زیر نوشته می شود:

num2.comp.imag = 11;

چرا از ساختارها در زبان C استفاده می شود؟

فرض کنید می خواهید اطلاعات مربوط به شخصی را ذخیره کنید: نام، کد ملی و حقوق. برای ذخیره این اطلاعات می توانید متغیرهای مختلفی به نام name، code و salary ایجاد کنید.

اگر بخواهید اطلاعات چند نفر را ذخیره کنید، چه می کنید؟ باید برای اطلاعات هر شخص به طور جداگانه این متغیرها را تعریف کنید: name1، code1، salary1 و name2، code2، salary2 و …. .

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

در آموزش های بعدی اطلاعات بیشتری در مورد ساختار ها کسب خواهید کرد. مانند:

  • ساختارها و اشاره گرها
  • ارسال ساختارها به تابع
profile name
میلاد حیدری

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

مطالب پیشنهادی برای شما

محصولات مرتبط

مشاهده همه

دیدگاهتان را بنویسید

1 2 3 4 5

0 نظر درباره «structure یا ساختار در برنامه نویسی C»

    هنوز نظری برای این بخش ثبت نشده است
مشاهده همه نظرات
سبد خرید
سبد خرید شما خالی است
× جهت نصب روی دکمه زیر در گوشی کلیک نمائید
آی او اس
سپس در مرحله بعد برروی دکمه "Add To Home Screen" کلیک نمائید