Bài giảng Phương pháp lập trình - Chương 5: Con trỏ (2016)
Số trang: 46
Loại file: ppt
Dung lượng: 1.45 MB
Lượt xem: 19
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:
Bài giảng Phương pháp lập trình - Chương 5: Con trỏ trình bày địa chỉ con trỏ, khái niệm và khai báo biến con trỏ, toán tử con trỏ, các thao tác trên biến con trỏ, cấp phát và giải phóng bộ nhớ, con trỏ và mảng, mảng con trỏ. Mời các bạn cùng tham khảo.
Nội dung trích xuất từ tài liệu:
Bài giảng Phương pháp lập trình - Chương 5: Con trỏ (2016)Chương5Nộidungtrìnhbày1. Địachỉ2. Kháiniệmvàkhaibáobiếncontrỏ3. Toántửcontrỏ4. Cácthaotáctrênbiếncontrỏ5. Cấpphátvàgiảiphóngbộnhớ6. Contrỏvàmảng7. Mảngcontrỏ 21.Địachỉ(Address) Mỗibiếnđềucó2thuộctính:địachỉ(address)và giátrị(value) ◦Vídụ:inti=11,j=22,k=33; Trongbộnhớ: +Tạiđịachỉ53AD78cógiátrịlà11 +Tạiđịachỉ53AD7Ccógiátrịlà22 +Tạiđịachỉ53AD80cógiátrịlà33 Đểlấyđịachỉcủa1biến:dùngdấu&trướctên biến.Vídụ:… 3Nộidungtrìnhbày1. Địachỉ2. Kháiniệmvàkhaibáobiếncontrỏ3. Toántửcontrỏ4. Cácthaotáctrênbiếncontrỏ5. Cấpphátvàgiảiphóngbộnhớ6. Contrỏvàmảng7. Mảngcontrỏ 42.Kháiniệmvàkhaibáocontrỏ Kháiniệmcontrỏ: Làmộtbiếnmàgiátrịcủanó chứamộtđịachỉ Cách khai báo biến con trỏ: tương tự khai báo biến thông thường, có thêm dấu * vào trước tên biến Vídụ: int*ia; intx,*p,*q; Không được dùng biến con trỏ khi con trỏ chưa đượckhởitạogiátrị Giátrịgánchocontrỏphảilàmộtđịachỉ,vídụ: p=&x; 52.Kháiniệmvàkhaibáocontrỏ:Vídụ inti=11,j=22,k=33; int*iPtr,*jPtr,*kPtr; iPtr=&i; jPtr=&j;iPtr,jPtrlà2biếncontrỏlầnlượtchứađịachỉcủai,j Vậy:nếugániPtr=ilàsai 6Nộidungtrìnhbày1. Địachỉ2. Kháiniệmvàkhaibáobiếncontrỏ3. Toántửcontrỏ4. Cácthaotáctrênbiếncontrỏ5. Cấpphátvàgiảiphóngbộnhớ6. Contrỏvàmảng7. Mảngcontrỏ 73.Toántửcontrỏ Toántử* :lấy giátrịtạiđịachỉchứatrongbiếncon trỏ Vídụ: 1234 10 50 i inti; 1236 int*ia; 1238 i=10; 1240 ia 1234 ia=&i; cout3.Toántửcontrỏ:Vídụ#include // kết quả xuất ra màn hình#include a = 15voidmain() b = 20{ inta=20,b=15,*pa,*pb,temp; pa=&a; //contrỏpachứađịachỉcủaa pb=&b; //contrỏpbchứađịachỉcủab temp=*pa; *pa=*pb; *pb=temp; coutNộidungtrìnhbày1. Địachỉ2. Kháiniệmvàkhaibáobiếncontrỏ3. Toántửcontrỏ4. Cácphéptoánsốhọctrêncontrỏ5. Cấpphátvàgiảiphóngbộnhớ6. Contrỏvàmảng7. Mảngcontrỏ 104.Cácphéptoánsốhọctrêncon trỏ Phépgán Phépcộng,trừmộtcontrỏvớimộtsốnguyên Phéptăng,giảm 114.Cácphéptoánsốhọctrêncon trỏ(tt) Phépgáncontrỏ ◦Haibiếncontrỏcùngkiểucóthểgánchonhau Vídụ: intx; int*p1,*p2; p1=&x; p2=p1; Saukhiđoạnlệnhtrênđượcthựchiện,cảp1và p2cùngtrỏđếnbiếnx 124.Cácphéptoánsốhọctrêncon trỏ(tt) Phépcộng,trừmộtcontrỏvớimộtsốnguyên ◦Khicộnghoặctrừ1contrỏvới1sốnguyênN;kết quảtrảvềlà1contrỏ ◦Con trỏ này sẽ chỉ đến vùng nhớ cách vùng nhớ của con trỏ hiệntạimột số nguyênlầnkíchthước củakiểudữliệucủanó 134.Cácphéptoánsốhọctrêncon trỏ(tt)Vídụ:char*a;short*b;long*c;Giảsửcáccontrỏa,b,clầnlượttrỏtớiônhớ1000,2000và3000 a=a+1; //contrỏadờiđi1byteb=b+1; //contrỏbdờiđi2bytec=c+1; //contrỏcdờiđi4byte 144.Cácphéptoánsốhọctrêncon trỏ(tt) 15Nộidungtrìnhbày1. Địachỉ2. Kháiniệmvàkhaibáobiếncontrỏ3. Toántửcontrỏ4. Cácphéptoánsốhọctrêncontrỏ5. Cấpphátvàgiảiphóngbộnhớ6. Contrỏvàmảng7. Mảngcontrỏ 165.Cấpphátvàgiảiphóngbộnhớ Cấp phát động là phương tiện nhờ đó một chương trình có thể dành thêm bộ nhớ trong khi đang thực thi hoặc giải phóng bộ nhớ khi không cầnthiết C/C++ có hai hệ thống cấp phát động: một hệ thống được định nghĩa bởi C và một được định nghĩabởiC++ 175.Cấpphátvàgiảiphón ...
Nội dung trích xuất từ tài liệu:
Bài giảng Phương pháp lập trình - Chương 5: Con trỏ (2016)Chương5Nộidungtrìnhbày1. Địachỉ2. Kháiniệmvàkhaibáobiếncontrỏ3. Toántửcontrỏ4. Cácthaotáctrênbiếncontrỏ5. Cấpphátvàgiảiphóngbộnhớ6. Contrỏvàmảng7. Mảngcontrỏ 21.Địachỉ(Address) Mỗibiếnđềucó2thuộctính:địachỉ(address)và giátrị(value) ◦Vídụ:inti=11,j=22,k=33; Trongbộnhớ: +Tạiđịachỉ53AD78cógiátrịlà11 +Tạiđịachỉ53AD7Ccógiátrịlà22 +Tạiđịachỉ53AD80cógiátrịlà33 Đểlấyđịachỉcủa1biến:dùngdấu&trướctên biến.Vídụ:… 3Nộidungtrìnhbày1. Địachỉ2. Kháiniệmvàkhaibáobiếncontrỏ3. Toántửcontrỏ4. Cácthaotáctrênbiếncontrỏ5. Cấpphátvàgiảiphóngbộnhớ6. Contrỏvàmảng7. Mảngcontrỏ 42.Kháiniệmvàkhaibáocontrỏ Kháiniệmcontrỏ: Làmộtbiếnmàgiátrịcủanó chứamộtđịachỉ Cách khai báo biến con trỏ: tương tự khai báo biến thông thường, có thêm dấu * vào trước tên biến Vídụ: int*ia; intx,*p,*q; Không được dùng biến con trỏ khi con trỏ chưa đượckhởitạogiátrị Giátrịgánchocontrỏphảilàmộtđịachỉ,vídụ: p=&x; 52.Kháiniệmvàkhaibáocontrỏ:Vídụ inti=11,j=22,k=33; int*iPtr,*jPtr,*kPtr; iPtr=&i; jPtr=&j;iPtr,jPtrlà2biếncontrỏlầnlượtchứađịachỉcủai,j Vậy:nếugániPtr=ilàsai 6Nộidungtrìnhbày1. Địachỉ2. Kháiniệmvàkhaibáobiếncontrỏ3. Toántửcontrỏ4. Cácthaotáctrênbiếncontrỏ5. Cấpphátvàgiảiphóngbộnhớ6. Contrỏvàmảng7. Mảngcontrỏ 73.Toántửcontrỏ Toántử* :lấy giátrịtạiđịachỉchứatrongbiếncon trỏ Vídụ: 1234 10 50 i inti; 1236 int*ia; 1238 i=10; 1240 ia 1234 ia=&i; cout3.Toántửcontrỏ:Vídụ#include // kết quả xuất ra màn hình#include a = 15voidmain() b = 20{ inta=20,b=15,*pa,*pb,temp; pa=&a; //contrỏpachứađịachỉcủaa pb=&b; //contrỏpbchứađịachỉcủab temp=*pa; *pa=*pb; *pb=temp; coutNộidungtrìnhbày1. Địachỉ2. Kháiniệmvàkhaibáobiếncontrỏ3. Toántửcontrỏ4. Cácphéptoánsốhọctrêncontrỏ5. Cấpphátvàgiảiphóngbộnhớ6. Contrỏvàmảng7. Mảngcontrỏ 104.Cácphéptoánsốhọctrêncon trỏ Phépgán Phépcộng,trừmộtcontrỏvớimộtsốnguyên Phéptăng,giảm 114.Cácphéptoánsốhọctrêncon trỏ(tt) Phépgáncontrỏ ◦Haibiếncontrỏcùngkiểucóthểgánchonhau Vídụ: intx; int*p1,*p2; p1=&x; p2=p1; Saukhiđoạnlệnhtrênđượcthựchiện,cảp1và p2cùngtrỏđếnbiếnx 124.Cácphéptoánsốhọctrêncon trỏ(tt) Phépcộng,trừmộtcontrỏvớimộtsốnguyên ◦Khicộnghoặctrừ1contrỏvới1sốnguyênN;kết quảtrảvềlà1contrỏ ◦Con trỏ này sẽ chỉ đến vùng nhớ cách vùng nhớ của con trỏ hiệntạimột số nguyênlầnkíchthước củakiểudữliệucủanó 134.Cácphéptoánsốhọctrêncon trỏ(tt)Vídụ:char*a;short*b;long*c;Giảsửcáccontrỏa,b,clầnlượttrỏtớiônhớ1000,2000và3000 a=a+1; //contrỏadờiđi1byteb=b+1; //contrỏbdờiđi2bytec=c+1; //contrỏcdờiđi4byte 144.Cácphéptoánsốhọctrêncon trỏ(tt) 15Nộidungtrìnhbày1. Địachỉ2. Kháiniệmvàkhaibáobiếncontrỏ3. Toántửcontrỏ4. Cácphéptoánsốhọctrêncontrỏ5. Cấpphátvàgiảiphóngbộnhớ6. Contrỏvàmảng7. Mảngcontrỏ 165.Cấpphátvàgiảiphóngbộnhớ Cấp phát động là phương tiện nhờ đó một chương trình có thể dành thêm bộ nhớ trong khi đang thực thi hoặc giải phóng bộ nhớ khi không cầnthiết C/C++ có hai hệ thống cấp phát động: một hệ thống được định nghĩa bởi C và một được định nghĩabởiC++ 175.Cấpphátvàgiảiphón ...
Tìm kiếm theo từ khóa liên quan:
Phương pháp lập trình Bài giảng Phương pháp lập trình Khai báo biến con trỏ Toán tử con trỏ Thao tác trên biến con trỏ Giải phóng bộ nhớGợi ý tài liệu liên quan:
-
Giáo trình Lập trình logic trong prolog: Phần 1
114 trang 195 0 0 -
Giáo trình Lập trình C căn bản: Phần 1
64 trang 170 0 0 -
Giáo trình Lập trình C căn bản
135 trang 170 0 0 -
14 trang 134 0 0
-
Giáo trình lập trình hướng đối tượng - Lê Thị Mỹ Hạnh ĐH Đà Nẵng
165 trang 112 0 0 -
Bài giảng Phương pháp lập trình: Chương 9 - GV. Từ Thị Xuân Hiền
36 trang 112 0 0 -
Giáo trình về môn Lập trình C căn bản
131 trang 50 0 0 -
Bài giảng Lập trình hướng đối tượng (dùng JAVA): Chương 1 - Trần Minh Thái
40 trang 41 0 0 -
PHP: The Good Parts: Delivering the Best of PHP- P5
20 trang 36 0 0 -
114 trang 30 0 0
-
Giáo trình Lập trình hướng đối tượng C++
197 trang 28 0 0 -
Giáo trình Cơ sở lập trình: Phần 2
114 trang 28 0 0 -
Bài giảng Lập trình căn bản - Trường CĐ Công nghệ và Nông Lâm Nam Bộ
219 trang 28 0 0 -
68 trang 27 0 0
-
Bài giảng Phương pháp lập trình - Chương 4: Mảng
9 trang 26 0 0 -
Bài giảng Phương pháp lập trình: Bài 8 - TS. Ngô Hữu Dũng
43 trang 25 0 0 -
50 trang 25 0 0
-
50 trang 25 0 0
-
Bài giảng lập trình Web - Ts.Vũ Đức Lung - Chương 5
45 trang 24 0 0 -
50 trang 24 0 0