Presentation is loading. Please wait.

Presentation is loading. Please wait.

Enumerated Data Type. An enumeration consists of a set of named integer constants. An enumeration type declaration gives the name of the (optional) enumeration.

Similar presentations


Presentation on theme: "Enumerated Data Type. An enumeration consists of a set of named integer constants. An enumeration type declaration gives the name of the (optional) enumeration."— Presentation transcript:

1 Enumerated Data Type

2 An enumeration consists of a set of named integer constants. An enumeration type declaration gives the name of the (optional) enumeration tag and defines the set of named integer identifiers (called the "enumeration set," "enumerator constants," "enumerators," or "members"). A variable with enumeration type stores one of the values of the enumeration set defined by that type.

3 It allows you to define your own data type and define what values the variable of this data type can take. One could invent data type “mar-status” which can have 4 possible values-single, married, divorced, or widowed. enum mar-status { single, married, divorced, widowed }; enum mar-status person1,person2;

4 1 st part declares the data type and specifies possible values called “enumerators” 2 nd part declares variables of this data type. we can give values to variables: person1=married; person2=divorced; person1=unknown ---> cause error. Compiler treats enumerators as integers. Single-0; married-1; divorced-2; widowed-3.

5 Programmer can initialize enumerators to different integer values as below enum mar-status { single=100,married=200,divorced=300,widowed=400 }; enum mar-status person1,person2;

6 #include Void main() { enum emp-dept { assembly,manufacturing,accounts,store }; struct employee { char name[30]; int age; float bs; enum emp-dept department; };

7 struct employee e; strcpy(e.name,”Lothar matheus”); e.age=28; e.bs=5675.50; e.department=manufacturing; printf(“\n name=%s”,e.name); printf(“\n age=%d”,e.age); printf(“\n basic salary=%f”,e.bs); printf(“\n dept=%d”,e.department); if(e.department==accounts) printf(“\n %s is an accountant”,e.name); else printf(“\n %s is not an accountant”,e.name); }

8 Output: name=Lothar matheus age=28 basic salary=5575.50 dept=1 Lothar matheus is not an accountant Department is printed out as 1 and not as manufacturing.

9 void main() { enum {a,b=32766,c,d,e=0}; clrscr(); printf("%d",a); getch(); } Output: error Explanation: value of enum constant must be within range of signed int.Maximum value of signed int is 32767 while value of d=32768

10 void main() { enum colour { green,red=5,blue,white,yellow=10,pink }; printf(“%d %d %d %d %d %d,green,red,blue,white,yellow,pink} }; Output: 0 5 6 7 10 11

11 Enum example in C #include int main() { enum Days{Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturd ay}; Days TheDay; int j = 0; printf("Please enter the day of the week (0 to 6)\n"); scanf("%d",&j); TheDay = Days(j);

12 if(TheDay == Sunday || TheDay == Saturday) printf("Hurray it is the weekend\n"); else printf("Curses still at work\n"); return 0; }

13 TYPEDEF

14 Renaming Data Types with typedef It is used to redefine the name of an existing variable type. typedef unsigned long int TWOWORDS; We can declare variables of type unsigned long int by writing, TWOWORDS var1,var2; instead of unsigned long int var1,var2; Uppercase letters are used to deal with renamed data types.

15 Example: struct employee { char name[30]; int age; float bs; }; struct employee e; This structure declaration can be modified using typedef as below: struct employee { char name[30]; int age; float bs; }; typedef struct employee EMP EMP e1,e2;

16 Typedef can be used to rename pointer data types as: struct employee { char name[30]; int age; float bs; } typedef struct employee *PEMP; PEMP p; p->age=32;


Download ppt "Enumerated Data Type. An enumeration consists of a set of named integer constants. An enumeration type declaration gives the name of the (optional) enumeration."

Similar presentations


Ads by Google