I like nter Milan too.
Các cu trúc dli u ệ
M t c u trúc d li u là m t t p h p c a nh ng ki u d li u khác nhau độ ấ ữ ệ ộ ậ ợ ủ ữ ể ữ ệ ược g p l iộ ạ
v i m t cái tên duy nh t. D ng th c c a nó nh sau: ớ ộ ấ ạ ứ ủ ư
struct model_name { type1 element1; type2 element2; type3 element3; . . } object_name;
trong đó model_name là tên c a m u ki u d li u và tham s tùy ch n ủ ẫ ể ữ ệ ố ọ object_name
m t tên h p l cho đ i tộ ợ ệ ố ượng. Bên trong c p ngo c nh n là tên các ph n t c a c uặ ặ ọ ầ ử ủ ấ
trúc và ki u c a chúng. ể ủ
N u đ nh nghĩa c a c u trúc bao g m tham s ế ị ủ ấ ồ ốmodel_name (tuỳ ch n), tham s này trọ ố ở
thành m t tên ki u h p l tộ ể ợ ệ ương đương v i c u trúc. Ví d : ớ ấ ụ
struct products { char name [30]; float price; } ;
products apple;
products orange, melon;
Chúng ta đã đ nh nghĩa c u trúc ị ấ products v i hai trớ ường: name và price, m i trỗ ường có m t ki u khác nhau. Chúng ta cũng đã s d ng tên c a ki u c u trúc (ộ ể ử ụ ủ ể ấ products) để
khai báo ba đ i tố ượng có ki u đó : ể apple, orange và melon.
Sau khi được khai báo, products tr thành m t tên ki u h p l gi ng các ki u c b nở ộ ể ợ ệ ố ể ơ ả
nh ưint, char hay short.
Trường tuỳ ch n ọ object_name có th n m cu i c a ph n khai báo c u trúc dùng để ằ ở ố ủ ầ ấ ể
khai báo tr c ti p đ i tự ế ố ượng có ki u c u trúc. Ví d , đ khai báo các đ i tể ấ ụ ể ố ượng apple,
orange và melon nh đã làm ph n trư ở ầ ước chúng ta cũng có th làm theo cách sau:ể
struct products { char name [30]; float price;
H n n a, trong trơ ữ ường h p này tham s ợ ốmodel_name tr thành tuỳ ch n. M c dù n uở ọ ặ ế
model_name không đượ ử ục s d ng thì chúng ta s không th khai báo thêm các đ iẽ ể ố
tượng có ki u m u này. ể ẫ
M t đi u quan tr ng là c n phân bi t rõ ràng đâu là ộ ề ọ ầ ệ ki u m uể ẫ c u trúc, đâu là ấ đ iố
tượng c u trúc. N u dùng các thu t ng chúng ta đã s d ng v i các bi n, ki u m uấ ế ậ ữ ử ụ ớ ế ể ẫ
là tên ki u d li u còn đ i tể ữ ệ ố ượng là các bi n.ế
Sau khi đã khai báo ba đ i tố ượng có ki u là m t m u c u trúc xác đ nh (ể ộ ẫ ấ ị apple, orange
and melon) chúng ta có th thao tác v i các trể ớ ường t o nên chúng. Đ làm vi c nàyạ ể ệ
chúng ta s d ng m t d u ch m (ử ụ ộ ấ ấ .) chèn gi a tên đ i tở ữ ố ượng và tên trường. Ví d ,ụ
chúng ta có th thao tác v i b t kì ph n t nào c a c u trúc nh là đ i v i các bi nể ớ ấ ầ ử ủ ấ ư ố ớ ế chu n : ẩ apple.name apple.price orange.name orange.price melon.name melon.price
m i trỗ ường có ki u d li u tể ữ ệ ương ng: ứ apple.name, orange.name và melon.name có ki u ể char[30], và apple.price, orange.price và melon.price có ki u ể float. Chúng ta t m bi t apples, oranges và melons đ đ n v i m t ví d v các b phim: ạ ệ ể ế ớ ộ ụ ề ộ
// example about structures
#include <iostream.h> #include <string.h> #include <stdlib.h> struct movies_t { char title [50]; int year; } mine, yours;
void printmovie (movies_t movie); int main ()
{
char buffer [50];
strcpy (mine.title, "2001 A Space Odyssey");
mine.year = 1968;
cout << "Enter title: "; cin.getline (yours.title,50); cout << "Enter year: ";
cin.getline (buffer,50); yours.year = atoi (buffer);
Enter title: Alien
Enter year: 1979
My favourite movie is: