Danh mục

Bài giảng Lập trình cơ bản - Chương 8: Con trỏ

Số trang: 30      Loại file: ppt      Dung lượng: 439.50 KB      Lượt xem: 21      Lượt tải: 0    
Thư viện của tui

Hỗ trợ phí lưu trữ khi tải xuống: 12,000 VND Tải xuống file đầy đủ (30 trang) 0
Xem trước 3 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Trong chương này người học sẽ tìm hiểu: Tìm hiểu về con trỏ và khi nào thì sử dụng con trỏ, cách sử dụng biến con trỏ và các toán tử con trỏ, gán giá trị cho con trỏ, phép toán trên con trỏ, so sánh con trỏ, con trỏ và mảng một chiều, con trỏ và mảng nhiều chiều, tìm hiểu cách cấp phát bộ nhớ.
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình cơ bản - Chương 8: Con trỏContrỏ Chương8 Mụctiêubàihọc Tìmhiểuvềcontrỏvàkhinàothìsửdụngcontrỏ Cáchsửdụngbiếncontrỏvàcáctoántửcontrỏ Gángiátrịchocontrỏ Phéptoántrêncontrỏ Sosánhcontrỏ Contrỏvàmảngmộtchiều Contrỏvàmảngnhiềuchiều Tìmhiểucáchcấpphátbộnhớ ElementaryProgrammingwithC/Session8/Slide2of30 Contrỏlàgì? Contrỏlàmộtbiến,nóchứađịachỉônhớcủamộtbiếnkhác Nếumộtbiếnchứađịachỉcủamộtbiếnkhác,thìbiếnnày đượcgọilàcontrỏtrỏđếnbiếnthứhai Contrỏcungcấpphươngthứctruyxuấtgiántiếpđếngiátrị củamộtphầntửdữliệu Cáccontrỏcóthểtrỏđếncácbiếncókiểudữliệucơbản nhưint,char,double,haydữliệutậphợpnhưmảnghoặccấu trúc. ElementaryProgrammingwithC/Session8/Slide3of30 Contrỏđượcsửdụngđểlàm gì?Cáctìnhhuốngcontrỏcóthểđượcsửdụng: Đểtrảvềnhiềuhơnmộtgiátrịtừmột hàm Đểtruyềnmảngvàchuỗitừmộthàmđến mộthàmkhácthuậntiệnhơn Đểlàmviệcvớicácphầntửcủamảng thayvìtruyxuấttrựctiếpvàocácphầntử này Đểcấpphátbộnhớvàtruyxuấtbộnhớ (Cấpphátbộnhớtrựctiếp) ElementaryProgrammingwithC/Session8/Slide4of30 Biếncontrỏ Khaibáocontrỏ:chỉramộtkiểucơsởvà mộttênbiếnđượcđặttrướcbởidấu* Cúphápkhaibáotổngquát: type *name; Vídụ: int *var2; ElementaryProgrammingwithC/Session8/Slide5of30 CáctoántửcontrỏHaitoántửđặcbiệtđượcsửdụngvớicontrỏ: & và * &làtoántửmộtngôivànótrảvềđịachỉônhớ củatoánhạng var2=&var1; Toántử*làphầnbổxungcủatoántử&.Đây làtoántửmộtngôivànótrảvềgiátrịchứa trongvùngnhớđượctrỏđếnbởibiếncontrỏ temp=*var2; ElementaryProgrammingwithC/Session8/Slide6of30 Gántrịđốivớicontrỏ Cácgiátrịcóthểđượcgánchocontrỏ thôngquatoántử&. ptr_var=&var; Ởđâyđịachỉcủavarđượclưuvàobiến ptr_var. Cũngcóthểgángiátrịchocontrỏthông quamộtbiếncontrỏkháctrỏcócùng kiểu. ptr_var=&var; ptr_var2=ptr_var; ElementaryProgrammingwithC/Session8/Slide7of30 Gán trịđốivớicontrỏ(tt)  Cóthểgángiátrịchocácbiếnthông quacontrỏ *ptr_var=10;  Câulệnhtrêngángiátrị10chobiến varnếuptr_varđangtrỏđếnvar ElementaryProgrammingwithC/Session8/Slide8of30 Phéptoáncontrỏ Chỉcóthểthựchiệnphéptoáncộngvàtrừtrên contrỏ intvar,*ptr_var; ptr_var=&var; var=500; ptr_var++; Giảsửbiếnvarđượclưutrữtạiđịachỉ1000 ptr_varlưugiátrị1000.Vìsốnguyêncókích thướclà2bytes,nênsaubiểuthức“ptr_var+ +;”ptr_varsẽcógiátrịlà1002màkhônglà 1001 ElementaryProgrammingwithC/Session8/Slide9of30Phéptoáncontrỏ(tt) ElementaryProgrammingwithC/Session8/Slide10of30 Phéptoáncontrỏ(tt) Mỗilầncontrỏđượctăngtrị,nótrỏđếnônhớ củaphầntửkếtiếp Mỗilầncontrỏđượcgiảmtrị,nótrỏđếnônhớ củaphầntửđứngtrướcnó Tấtcảcontrỏsẽtănghoặcgiảmtrịtheokích thướccủakiểudữliệumàchúngđangtrỏđến ElementaryProgrammingwithC/Session8/Slide11of30 Sosánhcontrỏ Haicontrỏcóthểđượcsosánhtrongmộtbiểu thứcquanhệnếuchúngtrỏđếncácbiếncócùng kiểudữliệu Giảsửptr_avàptr_blàhaibiếncontrỏtrỏđến cácphầntửdữliệuavàb.Trongtrườnghợp này,cácphépsosánhsaulàcóthể: ElementaryProgrammingwithC/Session8/Slide12of30Sosánhcontrỏ(tt) ElementaryProgrammingwithC/Session8/Slide13of30 Contrỏvàmảngmột chiều Địachỉcủamộtphầntửmảngcóthể đượcbiểudiễntheohaicách:  Sửdụngkýhiệu&trướcmộtphầntử mảng.  Sửdụngmộtbiểuthứctrongđóchỉsố củaphầntửđượccộngvàotêncủa mảng. ElementaryProgrammingwithC/Session8/Slide14of30 ContrỏvàmảngmộtchiềuVídụ#includevoid main(){ static int ary[10] ={1,2,3,4,5,6,7,8,9,10}; int i; for (i= 0;iContrỏvàmảngmộtchiềuvídụtt ElementaryProgrammingwithC/Session8/Slide16of30 Contrỏvàmảngđachiều Mảnghaichiềucóthểđượcđịnhnghĩanhư làmộtcontrỏtrỏtớimộtnhómcácmảng mộtchiềuliêntiế ...

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