MẢNG & CON TRỎ
Trang 1MẢNG & CON TRỎ
Trang 2NỘI DUNG
CON TRỎ
MẢNG 1 CHIỀU
MẢNG 2 CHIỀU
C
Trang 31 CON TRỎ
Hình dung sâu hơn về biến trong bộ nhớ máy
tính…
ĐOÁN???
Trang 41 CON TRỎ
… 306 305
304 303
302 301 300
299
…
0
char b;
int a;
a=5;
a++;
1 byte
b
a 56
Trang 51 CON TRỎ
int a=5;
int * p;
p=&a;
In p ?
In &a ?
In &p ?
In *p ?
104
…
0
100
23
a=5
p=100
Trang 61 CON TRỎ
Tại sao cần con trỏ?
Trang 71 CON TRỎ
• int* p = (int*) calloc (1, sizeof(int));
#include <stdlib.h>
Trang 81 CON TRỎ
Sự khác biệt về cách sử dụng con trỏ của 2 chương trình?
Trang 91 CON TRỎ
• Cho giá trị của c?
• Viết lại biểu thức: y=2*x + 4*z bằng cách sử dụng con trỏ?
Trang 102 MẢNG 1 CHIỀU
Cần lưu điểm môn MNLT của 5 sinh viên:
int d0;
int d1;
int d2;
int d3:
int d4;
Hazzi…!
Trang 112 MẢNG 1 CHIỀU
Định nghĩa mảng 1 chiều:
• Truy xuất phần tử của mảng thông qua chỉ số.
• Phần tử thứ n: a[n-1]
Ví dụ: int a[5];
int temperatures[5];
Dùng mảng 1 chiều làm chi?
a0 a1 a2 a3 a4
Array element
a
Trang 122 MẢNG 1 CHIỀU
Bài tập mảng 1 chiều:
• Nhập vào mảng số nguyên
• Nhập mảng có n phần tử
• Sắp xếp mảng tăng dần Xuất mảng đã sắp xếp ra mảng hình
• Nửa sau giảm dần
• Kiểm tra xem mảng có đối xứng hay không
Trang 133 MẢNG 2 CHIỀU
Định nghĩa mảng 2 chiều:
Ví dụ: int a[3][4]; //khai báo mảng 2 chiều
• Truy cập vào 1 phần tử của mảng: a[0][1], a[1][2], …
• Chỉ số dòng, cột bắt đầu từ 0.
cột 0 cột 1 cột 2 cột 3 Dòng 0
Dòng 1
Dòng 2
Trang 143 MẢNG 2 CHIỀU