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

رتبه: 5 ار 1 رای SSSSS
enum
نویسنده: میلاد حیدری زمان مطالعه 3 دقیقه
Banner Image

در این آموزش به کمک مثال های مختلف با نوع داده 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 انجام دهید. با این حال در شرایط خاص می توانند بسیار مفید باشند.

profile name
میلاد حیدری

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

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

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

مشاهده همه

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

1 2 3 4 5

1 نظر درباره «نوع داده enum در برنامه نویسی C»

  • محمد کاظم
    محمد کاظم آیا این دیدگاه مفید بود ؟

    بسیار عالی

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