- Là một biến chứa địa chỉcủa biến khác
- Con trỏ kiểu nào chỉ trỏ đến biến kiểu đó
- Khai báo:
<Kiểu dữ liệu> *<tên con trỏ>;
Vd:
int *p; // p là con trỏ trỏ đến các biên số nguyên
float *p1;
- Toán tử * và &
o Toán tử *: dùng để lấy giá trị tại địa chỉ đứng sau nó
o Toán tử &: dùng để lấy địa chỉ của biến
Vd:
int x=4;
int *p;
// p trỏ vào x, nghĩa là p chứa địa chỉ của biến x
P=&x;
int y;
y=*p; //y=4
- Con trỏ mảng
VD: int a[10]; // a: địa chỉ của mảng a (a chứa địa chỉ của phần tử a[0])
int *p;
P=a; // p trỏ vào phần tử a[0] => a[i] ó *(p+i)
- Con trỏ cấu trúc
VD:
struct HS{
char ht[30],lop[5],dc[50];
float dT,dL,dH,dTong;
};
HS a[10],*p; // p: con trỏ cấu trúc
ð Truy cập vào các trường trong cấu trúc ???
p=a; //
a[i].ht ó *(p+i).ht ó (p+i)->ht
p->lop
p->dT
Bài tập
1. Viết chương trình:
a. Nhập vào 1 dãy số nguyên có không quá 20 số
b. In dãy vừa nhập
c. Tìm max
d. Tính tổng
e. Sắp xếp
(dùng con trỏ mảng)
2 2. Viết chương trình:
a. Nhập thông tin của n học sinh (n<20) gồm các thông tin:
- Họ tên
- Địa chỉ
- Tuổi
- Lớp
- Điểm toán, điểm lý, điểm hóa
b. In thông tin của n học sinh
c. Tính điểm tổng
d. Đếm số học sinh đỗ đại hoc (điểm chuẩn=13)
e. Tim học sinh có điểm cao nhât.
(dùng con trỏ cấu trúc)
0 nhận xét:
Đăng nhận xét