ساختار در سی

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

اساطیر زبان

در این آموزش با انواع ساختار (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 distance\n”);

printf(“Enter feet: “);

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

printf(“Enter inch: “);

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

printf(“2nd distance\n”);

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 و استفاده از آن برای هر شخص.

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

  • ساختارها و اشاره گرها
  • ارسال ساختارها به تابع

تفاوت پک های حرفه ای ما با آموزشهای رایگان: بطور خلاصه از زمین تا آسمان! 1-پکها، جدیدترین نسخه نرم افزارها را آموزش می دهند با قابلیت های بسیار بیشتر. 2-پکها توسط متخصص آن نرم افزار، به صورت کاملا پروژه محور و با حل چالش هایی که در مسیر کار عملی و حرفه ای با آن روبرو می شوید تهیه شده اند و بعد از استفاده، کاملا برای بازار کار آماده اید! 3- متد این پکها کاملا کار شده و تا ماهها، در ذهن تان ماندگارند و یادگیری بسیار سریعتر و کاملتری خواهید داشت. آموزشهای رایگان فقط دستورات نرم افزارها را (آنهم ناقص) بیان می کنند و تازه برای ورود به بازار باید ماهها تجربه عملی هم کسب کنید !!

turned_in,

چرب زبان

با این اپلیکیشن ساده، هر زبانی رو فقط با 5 دقیقه در روز، توی 80 روز مثل بلبل حرف بزن! بهترین متد روز، تقویت حافظه، آموزش تصویری. یادگیری زبان کلید یادگیری هر مهارتی در قرن 21 !


حتما بخوانید!

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

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

این فیلد را پر کنید
این فیلد را پر کنید
لطفاً یک نشانی ایمیل معتبر بنویسید.

فهرست