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: 24
Lượt tải: 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ế ...
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ìm kiếm theo từ khóa liên quan:
Lập trình cơ bản Bài giảng Lập trình cơ bản Sử dụng con trỏ Toán tử con trỏ Mảng một chiều Mảng nhiều chiềuTài liệu có liên quan:
-
Giới thiệu : Lập trình mã nguồn mở
14 trang 189 0 0 -
Giáo trình nhập môn lập trình - Phần 22
48 trang 145 0 0 -
Đề thi HK lần 2 môn Lập trình cơ bản năm 2016 - CĐ Kỹ Thuật Cao Thắng - Đề 2
6 trang 94 0 0 -
Hướng dẫn thực hành - Lập trình Windows 1
63 trang 79 0 0 -
Bài tập mẫu về Mô hình hóa chức năng với Biểu đồ Luồng dữ liệu (DFD)
23 trang 69 0 0 -
NGÔN NGỮ LẬP TRÌNH C - Mảng và chuỗi ký tự
40 trang 52 0 0 -
Bài giảng Lập trình cơ bản: Bài 6 - Chu Thị Hường
38 trang 39 0 0 -
Bài giảng Tin học đại cương: Bài 8 - Phạm Xuân Cường
17 trang 36 0 0 -
Quản lý dự án công nghệ thông tin - ĐH Công nghệ Thông tin
170 trang 36 0 0 -
Bài giảng Tin đại cương: Bài 8 - Vũ Thương Huyền
26 trang 35 0 0