Danh mục

Hệ UNIX - Ngôn Ngữ C, ANSI C, ISO C, C++ phần 10

Số trang: 7      Loại file: pdf      Dung lượng: 108.82 KB      Lượt xem: 13      Lượt tải: 0    
Hoai.2512

Hỗ trợ phí lưu trữ khi tải xuống: miễn phí Tải xuống file đầy đủ (7 trang) 0
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Mặc dù C còn thiếu nhiều chức năng hữu ích nhưng lý do quan trọng để C được chấp nhận vì nó cho phép các trình dịch mới được tạo ra một cách nhanh chóng trên các nền tảng mới và vì nó cho phép người lập trình dễ kiểm soát được những gì mà chương trình (do họ viết) thực thi.
Nội dung trích xuất từ tài liệu:
Hệ UNIX - Ngôn Ngữ C, ANSI C, ISO C, C++ phần 10Updatesofts.com Ebooks Team for (n=0; nUpdatesofts.com Ebooks Team cout title; cout titlenó có th ñư c d ch thành:(*movies).titlec hai bi u th c movies->title và (*movies).title ñ u h p l và chúng ñ u dùng ñtham chi u ñ n ph n t title c a c u trúc ñư c tr b i movies. B n c n phân bi t rõràng v i:*movies.titlenó tương ñương v i*(movies.title)l nh này dùng ñ tính toán giá tr ñư c tr b i ph n t title c a c u trúc movies, trongtrư ng h p này (title không ph i là m t con tr ) nó ch ng có ý nghĩa gì nhi u. B n dư iñây t ng k t t t c các k t h p có th ñư c gi a con tr và c u trúc:Bi u th c Mô t Tương ñương v i Ph n t title c a c u trúc moviesmovies.title Ph n t title c a c u trúc ñư c tr b i moviesmovies->title (*movies).title Giá tr ñư c tr b i ph n t title c a c u trúc*movies.title *(movies.title) moviesCác c u trúc l ng nhauCác c u trúc có th ñư c ñ t l ng nhau vì v y m t ph n t h p l c a m t c u trúc có thlà m t c u trúc khác.struct movies_t { char title [50]; Trang 73Updatesofts.com Ebooks Team int year;}struct friends_t { char name [50]; char email [50]; movies_t favourite_movie; } charlie, maria;friends_t * pfriends = &charlie;Vì v y, sau ph n khai báo trên chúng ta có th s d ng các bi u th c sau:charlie.namemaria.favourite_movie.titlecharlie.favourite_movie.yearpfriends->favourite_movie.year(trong ñó hai bi u th c cu i cùng là tương ñương).Các khái ni m cơ b n v c u trúc ñư c ñ c p ñ n trong ph n này là hoàn toàn gi ng v ingôn ng C, tuy nhiên trong C++, c u trúc ñã ñư c m r ng thêm các ch c năng c a m tl p v i tính ch t ñ c trưng là t t c các ph n t c a nó ñ u là công c ng (public). B n scó thêm các thông tin chi ti t trong ph n Trang 74Updatesofts.com Ebooks TeamCác ki u d li u t ñ nh nghĩa.Trong bài trư c chúng ta ñã xem xét m t lo i d li u ñư c ñ nh nghĩa b i ngư i dùng(ngư i l p trình): c u trúc. Nhưng có còn nhi u ki u d li u t ñ nh nghĩa khác:T ñ nh nghĩa các ki u d li u (typedef).C++ cho phép chúng ta ñ nh nghĩa các ki u d li u c a riêng mình d a trên các ki u dli u ñã có. ð có th làm vi c ñó chúng ta s s d ng t khoá typedef, d ng th c nhưsau:typedef existing_type new_type_name ;trong ñó existing_type là m t ki u d li u cơ b n hay b t kì m t ki u d li u ñã ñ nhnghĩa và new_type_name là tên c a ki u d li u m i. Ví dtypedef char C;typedef unsigned int WORD;typedef char * string_t;typedef char field [50];Trong trư ng h p này chúng ta ñã ñ nh nghĩa b n ki u d li u m i: C, WORD, string_tvà field ki u char, unsigned int, char* ki u char[50], chúng ta hoàn toàn có th sd ng chúng như là các ki u d li u h p l :C achar, anotherchar, *ptchar1;WORD myword;string_t ptchar2;field name; ñ nh nghĩa m t ki u d li u ñư c dùng l p ñi l ptypedef có th h u d ng khi b n mu nl i trong chương trình ho c ki u d li u b n mu n dùng có tên quá dài và b n mu n nócó tên ng n hơn.UnionUnion cho phép m t ph n b nh có th ñư c truy xu t dư i d ng nhi u ki u d li ukhác nhau m c dù t t c chúng ñ u n m cùng m t v trí trong b nh . Ph n khai báo vàs d ng nó tương t v i c u trúc nhưng ch c năng thì khác hoàn toàn:union model_name { type1 element1; type2 element2; type3 element3; . .} object_name; Trang 75Updatesofts.com Ebooks TeamT t c các ph n t c a union ñ u chi m cùng m t ch trong b nh . Kích thư c c a nó làkích thư c c a ph n t l n nh t. Ví d :union mytypes_t { char c; int i; float f; } mytypes;ñ nh nghĩa ba ph n tmytypes.cmytypes.imytypes.fm i ph n t có m t ki u d li u khác nhau. Nhưng vì t t c chúng ñ u n m cùng m t chtrong b nh nên b t kì s thay ñ i nào ñ i v i m t ph n t s nh hư ng t i t t c cácthành ph n còn l i.M t trong nh ng công d ng c a union là dùng ñ k t h p m t ki u d liêu cơ b n v im t m ng hay các c u trúc g m các ph n t nh hơn. Ví d :union mix_t{ long l; struct { short hi; short lo; } s; char c[4];} mix;ñ nh nghĩa ba ph n t cho phép chúng ta truy xu t ñ n cùng m t nhóm 4 byte: mix.l,mix.s và mix.c mà chúng ta có th s d ng tuỳ theo vi c chúng ta mu n truy xu t ñ nnhóm 4 byte này như th nào. Tôi dùng nhi u ki u d li u khác nhau, m ng và c u trúctrong union ñ b n có th th y các cách khác nhau mà chúng ta có th truy xu t d li u.Các unions vô danhTrong C++ chúng ta có th s d ng các unions vô danh. N u chúng ta ñ t m t uniontrong m t c u trúc mà không ñ tên (ph n ñi sau c p ngo c nh n { }) union s tr thànhvô danh và chúng ta có th truy xu t tr c ti p ñ n các ph n t c a nó mà không c n ñ ntên c a union (có c n cũng không ñư c). Ví d , hãy xem xét s khác bi t gi a hai ph nkhai báo sau ñây: union union vô danh Trang 76Updatesofts.com Ebooks Teamstruct { struct { char title[50]; char title[50]; char author[50]; char author[50]; union { union { float dollars; float dollars; int yens; int yens ...

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