Danh mục

Bài 10 Kiểu Cấu Trúc và Kiểu Hợp

Số trang: 19      Loại file: pdf      Dung lượng: 114.68 KB      Lượt xem: 2      Lượt tải: 0    
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Trong C++, cấu trúc (structure) là một tập hợp nhiều biến được tham chiếu dưới cùng một tên, tạo ra một phương tiện gắn kết các thông tin có liên hệ với nhau. Mỗi thành phần giống nhưmột biến riêng của kiểu, nó gồm kiểu và tên thành phần.
Nội dung trích xuất từ tài liệu:
Bài 10 Kiểu Cấu Trúc và Kiểu Hợp Bài 10Ki u C u Trúc và Ki u H p 1Ki u c u trúc Trong C++, c u trúc (structure) là m t t p h p nhi u bi n đư c tham chi u dư i cùng m t tên, t o ra m t phương ti n g n k t các thông tin có liên h v i nhau. Khai báostruct { các thành ph n ; } ; 2M i thành ph n gi ng như m t bi n riêng c a ki u, nóg m ki u và tên thành ph n. M t thành ph n cũngcòn đư c g i là trư ng (field). Ph n tên c a ki u c u trúc và ph n danh sách bi n cóth có ho c không.Các ki u c u trúc đư c phép khai báo l ng nhau,nghĩa là m t thành ph n c a ki u c u trúc có th l i làm t trư ng có ki u c u trúc.M t bi n có ki u c u trúc s đư c phân b b nh saocho các th c hi n c a nó đư c s p liên t c theo th txu t hi n trong khai báo. 3 Khai báo bi n ki u c u trúc dùng m t trongcác d ng:struct ;ho c ;Các bi n đư c khai báo cũng có th đi kèmkh i t o: bi n = { giá tr kh i t o } ; 4Ví d struct inv_type {struct Phanso char item[40]; { double cost; int tu ; double retail; int mau ; int on_hand; }; int lead_time; } inv_varA, inv_varB, inv_varC; 5Truy xu t thành viênc a c u trúc Các bi n thành viên trong c u trúc đư c truy xu t b ng cách vi t tên bi n c u trúc và tên bi n thành viên đó cách nhau b i d u ch m. tên bi n c u trúc. tên bi n thành viên ví d inv_varA.cost gets(inv_varA.item); 6M ng ki u c u trúc Các c u trúc có th x p thành m ng. Đ khai báo m t m ng ki u c u trúc, trư c h t ph i đ nh nghĩa m t c u trúc, sau đó khai báo m t m ng c a ki u này. Ví d inv_type invtry[100]; Đ truy xu t bi n thành viên, ph i kèm theo ch s . Ví d invtry[3].item 7Khai báo m t bi n c u trúc sinhvien đ l p h sơ sihh viên, trong đó bi n ngaysinh cũng là bi n có c u trúc. struct sinhvien{ struct time { char hoten[20]; int ngay; time ngaysinh; int thang; char gt[5]; int nam; float diem; } } 8Truy n các c u trúc và hàm Khi m t c u trúc đư c dùng như m t tham s c a hàm thì toàn b c u trúc đư c truy n vào như truy n các tham s khác. Khi dùng m t c u trúc như là tham s , c n lưu ý ki u tham s c a hàm ph i cùng ki u c a bi n truy n vào. 9ví d int main()#include {using namespace std; sample arg; arg.a = 1000;struct sample { arg.ch = X;int a; f1(arg);char ch; return 0; }}; void f1(sample parm)void f1(sample parm); { cout Gán các c u trúc Có th gán n i dung c a m t bi n ki u c u trúc sang m t bi n ki u c u trúc khác mi n là c hai có cùng ki u c u trúc. Ví d 11#include cout Tr n c u trúc và toán t mũi tên C++ cho phép các con tr ch đ n c u trúc Khai báo m t con tr c u trúc b ng cách đ t d u * trư c tên bi n c u trúc, ví d inv_type *inv_pointer;Tìm đ a ch c a bi n c u trúc dùng toán t &, ví dstruct bal { float balance; char name[80];} person; bal *p; p = &person;// đ t đ a ch c a person vào con tr p 13Thành ph n c a c u trúc có th đư c truyxu t thông qua con tr ch đ n c u trúc. Tuynhiên, không dùng d u ch m mà dùng toánt mũi tên, ví d : p->balanceToán t mũi tên g m d u tr và d u l n hơnCon tr c u trúc đư c dùng khi c n dùngtham s c u trúc trong hàm, vì truy n con trnhanh hơn truy n m t c u trúc l n. 14 Ví d#include time_t#include struct tm {using namespace std; int tm_sec; tmint main() int tm_min; int tm_hour;{ int tm_mday; struct tm *ptr; int tm_mon; time_t lt; int tm_year; lt = time(\0);//g i v i con tr null int tm_wday; int tm_yday; ptr = localtime(<); int tm_isdst; cout tm_hour Ki u h p (Union) Ki u h p g m hai hay nhi u bi n cùng chia s m t v trí b nh . Do đó m t union cung c p m t phương pháp đ d ch m t m u bit thành hai hay nhi u cách khác nhau. Khai báo union { Danh sách các thành ph n; }; 16Ví dunion utype { i và ch chia s short int i; cùng m t v trí char ch; b nh };utype u_var; i Byte 0 Byte 1 ch 17Truy xu t thành viên c a h p Đ truy xu t thành viên c a h p dùng cú pháp gi ng như khi truy xu t thành viên c a c u trúc. Ví d gán ký t A cho thành viên ch c a u_var như sau: u_var.ch = A; -Ví d con tr đ n u_var đư c truy n vào m t hàm. func1(&u_var); // truy n vào func1() m t con tr ch đ n u_var // ... } void fun ...

Tài liệu được xem nhiều: