Cách khai báo mảng hai chiều Truy xuất mảng hai chiều Khái quát mảng nhiều chiều Hạn chế dùng mảng... Kích thước bộ nhớ dành cho mảng không thay đổi trong suốt chương trình Kích th
Trang 1MẢNG NHIỀU CHIỀU
Vì sao dùng mảng nhiều chiều?
Cách khai báo mảng hai chiều
Truy xuất mảng hai chiều
Khái quát mảng nhiều chiều
Hạn chế dùng mảng
Trang 2Vì sao dùng mảng nhiều chiều?
cột để có thể lưu trữ dữ liệu đa dạng hơn
0 1 2 0
1 2 3 hàng
Cột
Trang 3Cách khai báo mảng hai chiều
0 1 2 0
1 2 3
hàng
Cột
a[0][0] a[0][1] a[0][2]
a[1][0] a[1][1] a[1][2]
a[2][0] a[2][1] a[2][2]
a[3][0] a[3][1] a[3][2]
Trang 4Cách truy xuất
một lúc
chỉ số dòng, chỉ số cột Vd a[i][j]: truy xuất phần tử ở hàng i, cột j
Vd: int a[2][2]={{0,1},{2,3}};
Nếu liệt kê không đầy đủ thì các phần tử còn lại
bằng 0
Trang 5Nhập, xuất giá trị cho mảng
Trang 6KHÁI QUÁT MẢNG NHIỀU CHIỀU
Trang 7HẠN CHẾ DÙNG MẢNG
lúc khai báo
Kích thước bộ nhớ dành cho mảng không thay
đổi trong suốt chương trình
Kích thước khai báo phải lớn hơn hoặc bằng kích
thước sử dụng.
Có thể không sử dụng hết vùng nhớ đã khai báo
cho mảng
nội dung của mảng và kích thước của mảng
Trang 8CON TRỎ
Khái quát về con trỏ
Khai báo con trỏ
Khởi tạo và hủy con trỏ
Truy xuất vùng nhớ và giá trị lưu trong vùng
nhớ
Trang 9kiến thì không thể yêu cầu chương trình cắt bớt.
thể yêu cầu chương trình tăng thêm vùng nhớ
Trang 10KHÁI QUÁT VỀ CON TRỎ
ta dùng bộ nhớ động
cấp 1 vùng nhớ khi cần và yêu cầu nó xóa đi khi không cần nữa
dùng để truy xuất bộ nhớ động
Trang 11KHAI BÁO CON TRỎ
sử dụng
nó trỏ đến.
liệu của giá trị mà vùng nhớ nó đang chứa
Trang 12KHAI BÁO CON TRỎ
Biến a được cấp phát vùng nhớ có địa
Kiểu int
Kiểu int
Trang 13KHỞI TẠO VÀ HỦY BỎ CON TRỎ
dụng để truy xuất được mà phải khởi tạo, nghĩa là chỉ rõ vùng nhớ mà nó trỏ đến Có
Nếu con trỏ chỉ đến 1 ô nhớ: delete p;
Nếu con trỏ là mảng: delete []p;
int
Trang 14TRUY XuẤT VÙNG NHỚ VÀ GIÁ TRỊ
int i=2;
int *p;
Truy xuất giá trị
*p=i;//giá trị chứa
trong i *p=2;
Truy xuất địa chỉ
p=&i// địa chỉ của i
Trang 15ỨNG DỤNG CON TRỎ CHO MẢNG
chính là con trỏ và trỏ đến vị trí ô nhớ đầu tiên của mảng tức là a=&a[0]
Trang 17CHUỖI KÝ TỰ
Trang 18NHẮC LẠI VỀ MẢNG VÀ CON TRỎ
Mảng
Tập hợp các dữ liệu cùng kiểu, cùng tên và xếp
liên tiếp nhau trong bộ nhớ.
Nội dung vùng nhớ có thể là kiểu ký tự
Có thể dùng con trỏ thay thế hoàn toàn cho
mảng
Trang 19GiỚI THIỆU VỀ CHUỖI KÝ TỰ
nhau trong bộ nhớ và có ký hiệu đặc biệt kết thúc ở cuối (‘\n’)
Trang 20KHAI BÁO CHUỖI KÝ TỰ
Trang 21KHỞI TẠO, XUẤT NHẬP MỘT CHUỖI
cho chuỗi khai báo kiểu mảng
Trang 22CHƯƠNG TRÌNH
#include<iostream.h>// chua thu tuc cout, cin
#include<math.h>// chua ham toan hoc abs(),sqrt()
#include<string.h>//chua ham xu ly chuoi strlen()
#define l 10
main()
{
char str[l]="hello"; // char str[]={‘h','e','l','l','o','\0'};
for(int i=0;i<l;i++)// cout<<str;
Trang 24KHỞI TẠO 1 CHUỖI
Trang 26MỘT SỐ CHƯƠNG TRÌNH VỀ CHUỖI Chương trình in độ dài của chuỗi
while ((str[dem])!='\0') dem++;
cout<<"Do dai cua chuoi la:"<<dem<<“ ki tu”; return 0;
Trang 28TẬP TIN VÀ LUỒNG