Professional Documents
Culture Documents
บทที่ 8 -8.9
บทที่ 8 -8.9
9
(structure name)
(declaration of a structure data type)
struct
1
struct struct_name
{
type1 name1;
type2 name2;
..
typeN nameN;
} struct_var;
2
struct struct_name
{
type1 name1;
type2 name2;
..
typeN nameN;
};
struct struct_name struct_var;
struct
struct_name
struct_var
1 10
20 arrays
struct
1
struct struct_name
{
type1 name1;
type2 name2;
..
typeN nameN;
} struct_var[n];
2
struct struct_name
{
type1 name1;
type2 name2;
..
typeN nameN;
};
struct struct_name struct_var[n];
struct
struct_name
struct_var
type1 name1, type2 name2, ., typeN nameN 1, 2, 3, ,
N name1, name2, nameN element 1 , element 2, element
N
n 0,1, 2, , n-1
struct_var[n].member_var
n 0,1, 2, ,n-1
(pointer and structures)
linked list tree
(*ptr_name).member_var
ptr_name->member_var
(unions)
3 a, b c a
integer, b floating point c single character
a, b c
union {
int a;
float b;
char c;
} ShareArea;
(declaration of an unions data type)
union
1
union union_name
{
type1 name1;
type2 name2;
typeN nameN;
} union_var;
2
union union_name
{
type1 name1;
type2 name2;
typeN nameN;
};
union union_name union_var;
union
union_name
union_var
type1 name1, type2 name2,, typeN nameN 1, 2, 3, ,
N name1, name2,, nameN element 1, element2, , element
N
(accessing union members)
(union_var) . (period)
(element_name member_name)
union_var.member_name