47
M i bi n có hai thu c tính: ỗ ế ộ
Đ a ch (ị ỉ address) và giá tr (ị value )
Bi n ph i đế ả ược khai báo trước khi s d ngử ụ
Ví d : int y=0;ụ
char kytu;
cout << “Giá tr c a 'y' là: " << y << "\n"; ị ủ
cout << “Đ a ch c a 'y' là: " << &y << "\n\n"; ị ỉ ủ B nh t i đ a ch 3: giá tr : 45. ộ ớ ạ ị ỉ ị
B nh t i đ a ch 2: giá tr "Dave" ộ ớ ạ ị ỉ ị
Chương 1:
Chương 1: Ôn t p C/C++Ôn t p C/C++ậậ
1. C u trúc chấ ương trình C/C++
2. Các cú pháp c b nơ ả
3. Đ a ch (ị ỉ Address)
4. Con tr (ỏ Pointer)
5. M ng (ả Array)
6. M ng con tr (ả ỏ Pointer array)
7. M ng hai chi u (ả ề Two-dimensional array)
8. C u trúc (ấ Structure)
9. Con tr c u trúc (ỏ ấ Structure pointer)
10. Chu i (ỗ String)
11. T p tin (ậ File)
12. Hàm (Function)
49
Là m t ki u d li u đ c bi t, có giá tr là m t đ a ch vùng nh ộ ể ữ ệ ặ ệ ị ộ ị ỉ ớ
c a m t đ i tủ ộ ố ượng (bi n, hàm).ế
Cho phép truy xu t m t đ i tấ ộ ố ượng m t cách gián ti p, nghĩa là ộ ế
tham chi u 1 đ i tế ố ượng khác thông qua đ a ch c a nó.ị ỉ ủ
Vi c c p phát đ ng cho m ng đệ ấ ộ ả ược th c hi n thông qua con tr .ự ệ ỏ
Tùy theo h máy mà ki u d li u con tr có các kích thệ ể ữ ệ ỏ ước khác nhau: + H máy PC: 2 bytesệ + H máy tính l n: 4 bytesệ ớ Int i; giá tr c a bi nị ủ ế Int *p = &i; //p ch a đ a ch c a iứ ị ỉ ủ *p = 10 ; //gán i=10 Ví dụ 4. Con trỏ (Pointer)
Khai báo ki u con tr : ể ỏ
ki uc s Tể ơ ở *tênki ucontr ;ể ỏ
Ki u c s :ể ơ ở là ki u đã đ nh nghiã trể ị ước, cũng có th là ki u ể ể
con tr .ỏ
Ki u con tr voidể ỏ : là ki u con tr có th ch a đ a ch c a b t ể ỏ ể ứ ị ỉ ủ ấ
kỳ ki u nào. Nh ng khi s d ng ph i ép v 1 ki u d li u c ể ư ử ụ ả ề ể ữ ệ ụ
th .ể
Khai báo bi n con trế ỏ:
M u 1:ẫ tênki ucontrể ỏ tênbi ncontrế ỏ;
M u 2:ẫ ki uc s Tể ơ ở *tênbi ncontrế ỏ;
Ví d :ụ typedef int *intpointer; intpointer pt;
hay int *pt;
Ví dụ
Các thao tác trên bi n con trế ỏ
1. Gán 1 đ a ch cho bi n con tr : ị ỉ ế ỏ
tênbi ncontr = &tênbi nc nl yđ ach ;ế ỏ ế ầ ấ ị ỉ
tênbi ncontr = NULL;ế ỏ
Ví d : ụ Ch a đ a ch c a m ng 1 chi u: ứ ị ỉ ủ ả ề int *P , A[10]; --> P = A Ch a đ a ch c a m ng 2 chi u: ứ ị ỉ ủ ả ề float *P, B[3][4]; --> P = (float*) B Ch a đ a ch c a 1 bi n c u trúc: ứ ị ỉ ủ ế ấ
struct HocSinh *P, hs; --> P = &hs
Các thao tác trên bi n con trế ỏ