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

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

در این آموزش به کمک مثال های مختلف با نوع داده 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()

چرب زبان

پایگاه داده SQL Server رو قورت بده! بدون کلاس، سرعت 2 برابر، ماندگاری 3 برابر، پولسازی بلافاصله ... دانلود:

پک کامل SQL Server

پک مبانی برنامه نویسی (اختیاری)

{

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
تیم تولید محتوا

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

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

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

مشاهده همه
صفر تا صد آموزش HTML & CSS به زبان ساده
صفر تا صد آموزش HTML & CSS به زبان ساده
قیمت محصول 45٪ 149,000 تومان 269,000
ادامه مطلب

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

1 2 3 4 5

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

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

    بسیار عالی

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