Professional Documents
Culture Documents
Structures
Structures
I- Enumeration :
KWCakarkMnt;tMél member enAeBlRbkas .
Syntax : enum name {item1, item2, . . . , itemn};
II- typedef :
RtUv)aneKeRbIedIm,IkMnt;RbePTTinñn½yfµI(New data type)eRkABIRbePTTinñn½yEdlmanRsab; (Standard data type).
Syntax: typedef datatype newDatatype ;
III- Structures :
KWCakarRbmUlpþúMén variable EdlmanRbePTTinñn½yepSg²Kña edaybBa©ÚleGaysßiteRkamkarRKb;RKgrbs;
structure EdlmaneQµaHEtmYy .
TMrg;énkar
Access rbs;
structure Initialization: Ca
1- Struct studentType {
char name[25];
char sex ;
int Age ;
}stu = ”sok data”, ‘M’, 27};
2- struct student{
char name[25];
char sex ;
int age ;
};
struct student stu={“sok data”, ’M’, 27};
3- typedef struct{
char name[25]
char sex;
int age;
}data;
data stu ={“sok data”, ’M’, 27};
2- Pointer to structure :
kñúgkrNIEdl variable rbs; Structure CapionterenaH kar access elI field rbs ;struct tamTMrg;dUc
xageRkam³
(*variable).Field = value;
rW variable->Field = value;
rWGacAccessmüa:geTot ³
ptr->x = 20;
ptr->y = 25.15;
3- Array of structures:
enAkñúgsßanPaBeRcIn eBlenaHeKeRbI Array of structure . eBalKWeBleFVIkarGnuvtþeTAelIRkuménmnusSeRcIn/ rW
nisSiteRcInnak; > > > > > .l.
]TahrN¾³ eKRbkas Array of structure dUcxageRkam ³
struct studentType{
char name[20];
char sex;
int age;
};
struct studentType{
char name[20];
char sex;
int age;
}stu[3]={{“sok”,’M’,25},{“Bopha”,’F’,20},
{“Vibol”,’M’,30}};
enaHmann½yfa ³
stu[0].name=”sok”;
stu[0].sex=’M’;
stu[0].age=25;
stu[1].name=”Bopha”;
stu[1].sex=’F’;
stu[1].age=20;
stu[2].name=”Vibol”;
stu[2].sex=’M’;
stu[2].age=30;
struct peopleType{
char name[25];
int age;
char sex;
struct address addr;
};
typedef struct{
char name[25];
int age;
char sex;
address addr;
}peopleType;
peopleType people;
+ tamkar
declare structure in structure kñúgrebobTI2 eyIgGackMnt;³
peopleType p={“sok”,27,’M’,{119,566,”phsar thmeyI”}};
void getdata( ){
pt=(data*)malloe(sizeof(data));
printf(“Input name:”); gets((*pt).name);
printf(“input sex:”); scanf(“%c”,&(*pt).sex);
pritf(“input age:”); scanf(“%d”,&(*pt).age);
}
void display( ){
puts(“Data display”);
printf(“\n name: %s”, pt->name);
printf(“\n sex: %c”, pt->sex);
printf(“\n age: %d:”, pt->age);
}
III- NIONS :
KWCa mYyEdlRbmUlpþúMRbePTTinñn½yepSg²Ca Unit EtmYy . ehIyEdlpÞúktMélénRbePTTinñn½yepSg²
structure
kñúg locationEtmYy . Union nwgpÞúktMélmYyénrbePTxus²Kña ehIykareRbIR)as;KWdUcCa structureEdr.
- Declaration :
union name{
datatype1 member1;
datatype2 member2;
. . . . . . . . . ;
- RbsinebIeKman variable én union Ca pointer enaHeKGac Access dUc pointer to structure Edr .
]TahrN¾³ union sample *ptr;
ptr->first = 12;
ptr->second= 14.54;
ptr->third= ‘M’;
output :
First member= 3686 // Error
Second member = -1456.45;
Program xagelI Union man2member ¬Ca int nigCa float ¦ . manEttMél float mYyeTRtUv)anpÞúk
nige)aHecj cMENkÉtMél int KWe)aHminRtwmRtUv . Union pÞúktMélEtmYysMrab; Data type mYyEdltMrUvkarpÞúkFMCageK
kñúgcMeNam member rbs;va .
Programe bgðajBI
member union én
structure Ca ehIybgðajBI content én union enH
#include<stdio.h>
#include<conio.h>
void main(){
struct data{
int day;
int month;
int year;
};
union value{
int I;
floatf;
struct data bdate;
};
union value x;
x.i = 10;
x.f =-1456.45;
x.bdate.day = 12;
x.bdate.month = 7;
x.bdate.year = 1995;
printf(“First member= %d\n”, x.i);
printf(“second member= %f/n”, x.f);
Output:
first member =12
second member =0
12/ 7/ 1995
Program bgðajB uI nion mYyCa pionter ehIybgðajBI content én union enH edayeRbI pionter
#include<stdio.h>
#include<conio.h>
void main()
{
union value{
int i;
float f;
};
union value *a;
a->i = 10;
a->f = -1456.45;
printf(“First member= %d\n”, a->i);
printf(“second member= %f\n”, a->f);
}
Output :