enum

نوع داده enum در برنامه نویسی C

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

در برنامه نویسی C، نوع enum یا شمارشی نوعی داده تشکیل شده از ثابت های عددی است. برای تعریف آن از کلمه کلیدی enum استفاده می شود.

 


برنامه نویسی شبکه معماری کامپیوتر هوش مصنوعی و تجاری

توی این پک فوق العاده، صفرتاصد مبانی برنامه نویسی رو جوری یاد میگیری که تو هیچ کلاس آموزشی یا پک دیگه ای نه دیدی نه شنیدی! بدون هیچ کلاسی، با صفرتاصد مبانی برنامه نویسی اپلیکیشن بزن، پروژه محور یاد بگیر و حسابی پول در بیار! 


 

enum flag {const1, const2, …, constN};

به طور پیشفرض، const1 برابر با ۰، const2  برابر با ۱ و … است. می توانید این مقادیر پیشفرض را در هنگام تعریف داده شمارشی تغییر دهید (در صورت لزوم).

// enum تغییر مقادبر پیشفرض ثابت های

enum suit {

club = 0,

diamonds = 10,

hearts = 20,

spades = 3,

};

تعریف متغیر از نوع داده شمارشی یا enum

هنگام تعریف نوع enum، طرح اولیه برای متغیر ایجاد می شود. در کد زیر شیوه تعریف متغیر نوع enum نشان داده شده است.

enum boolean {false, true};

enum boolean check; // enum تعریف متغیر از نوع

در اینجا، متغیر check از نوع enum boolean ساخته شده است.

می توانید متغیرهای enum را به صورت زیر نیز تعریف کنید.

enum boolean {false, true} check;

در اینجا، مقدار false برابر با ۰ و مقدار true برابر با ۱ است.

مثال: نوع داده enum

#include <stdio.h>

enum week {Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday};

int main()

{

// creating today variable of enum week type

enum week today;

today = Wednesday;

printf(“Day %d”,today+1);

return 0;

}

خروجی

Day 4

چرا از enum استفاده می شود؟

یک متغیر enum فقط می تواند یک مقدار بگیرد و این باعث می شود تا enum گزینه خوبی برای کار با پرچم ها (flag) باشد.

#include <stdio.h>

enum suit {

club = 0,

diamonds = 10,

hearts = 20,

spades = 3

} card;

int main()

{

card = club;

printf(“Size of enum variable = %d bytes”, sizeof(card));

return 0;

}

خروجی

Size of enum variable = 4 bytes

در خروجی ۴ نشان داده می شود زیرا اندازه int برابر با ۴ بایت است.

چگونه از enum برای پرچم ها استفاده می شود؟

با یک مثال بررسی می کنیم،

enum designFlags {

ITALICS = 1,

BOLD = 2,

UNDERLINE = 4

} button;

فرض کنید در حال طراحی یک دکمه برای برنامه ویندوز هستید. برای کار با متن می توانید پرچم های ITALICS، BOLD و UNDERLINE را تنظیم کنید. به همین دلیل تمام ثابت های عددی در شبه کد بالا، توانی از ۲ هستند.

// به صورت باینری

ITALICS = 00000001

BOLD = 00000010

UNDERLINE = 00000100

چون ثابت ها توانی از ۲ هستند می توانید دو یا چند پرچم را به طور همزمان با هم ترکیب کنید، بدون اینکه با هم تداخل داشته باشند. برای این کار دو یا چند پرچم را انتخاب کرده سپس با استفاده از عملگر OR بیتی (|) آنها را با هم ترکیب کنید. مثال،

#include <stdio.h>

enum designFlags {

BOLD = 1,

ITALICS = 2,

UNDERLINE = 4

};

int main() {

int myDesign = BOLD | UNDERLINE;

// ۰۰۰۰۰۰۰۱ | ۰۰۰۰۰۱۰۰

// ۰۰۰۰۰۱۰۱

printf(“%d”, myDesign);

return 0;

}

خروجی

۵

وقتی خروجی ۵ باشد می دانید که از bold و underline استفاده شده است.

علاوه بر این می توانید پرچم ها را با توجه به نیاز خود اضافه کنید.

if (myDesign & ITALICS) {

// ITALICS کد برای متن مورب یا

}

در اینجا حروف مورب به طراحی قبلی اضافه شده است. توجه داشته باشید، فقط کدهای ایتالیک در داخل دستور if نوشته می شود.

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

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

turned_in,

چرب زبان

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


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

1 دیدگاه. ارسال دیدگاه جدید

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

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

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

فهرست