Ktl-icon-tai-lieu

Ngôn ngữ lập trình C

Được đăng lên bởi Phiêu Linh Trắng
Số trang: 52 trang   |   Lượt xem: 2603 lần   |   Lượt tải: 0 lần
Lập trình cơ bản với C
Chương 7: Con trỏ và mảng

1

Khái niệm:
Con trỏ: là một biến chứa địa chỉ vùng nhớ của

biến khác.
Con trỏ không lưu trữ giá trị của biến đó.
Như vậy, nếu một biến chứa địa chỉ của một biến

khác, thì biến này được gọi là con trỏ trỏ đến biến
thứ hai.
Kích thước của biến con trỏ không phụ thuộc vào
kiểu dữ liệu, luôn có kích thước cố định là 2 byte.
2

7.1. Khai báo biến con trỏ.
 Cú pháp: <Kiểu> * <Tên con trỏ>
 Ý nghĩa: Khai báo một biến có tên là Tên con trỏ dùng để chứa địa chỉ của các biến có

kiểu Kiểu.
 Ví dụ 1: Khai báo 2 biến a,b có kiểu int và 2 biến pa, pb là 2 biến con trỏ kiểu int.

int a, b, *pa, *pb;
 Ví dụ 2: Khai báo biến f kiểu float và biến pf là con trỏ float

float f, *pf;
 Chú ý: Nếu chưa muốn khai báo kiểu dữ liệu mà con trỏ ptr đang chỉ đến, ta sử dụng:

void *ptr;
Sau đó, nếu ta muốn con trỏ ptr chỉ đến kiểu dữ liệu gì cũng được.
Tác dụng của khai báo này là chỉ dành ra 2 bytes trong bộ nhớ để cấp phát cho biến con
trỏ ptr.
3

7.2. Các thao tác trên con trỏ .
7.2.1. Gán địa chỉ của biến cho biến con trỏ:
 Toán tử & dùng để định vị con trỏ đến địa chỉ của một biến đang làm
việc.
 Cú pháp: <Tên biến con trỏ>=&<Tên biến>
 Giải thích: Ta gán địa chỉ của biến Tên biến cho con trỏ Tên biến con
trỏ.
Ví dụ: Gán địa chỉ của biến a cho con trỏ pa, gán địa chỉ của biến b cho
con trỏ pb.
pa=&a; pb=&b;
 Lúc này, hình ảnh của các biến trong bộ nhớ được mô tả

4

7.2. Các thao tác trên con trỏ (t)
Lưu ý:
Khi gán địa chỉ của biến tĩnh cho con trỏ cần phải lưu ý
kiểu dữ liệu của chúng.
Ví dụ sau đây không đúng do không tương thích kiểu:
int Bien_Nguyen;
float *Con_Tro_Thuc;
...
Con_Tro_Thuc=&Bien_Nguyen;
Phép gán ở đây là sai vì Con_Tro_Thuc là một con

trỏ kiểu float (nó chỉ có thể chứa được địa chỉ của biến
kiểu float); trong khi đó, Bien_Nguyen có kiểu int
5

7.2. Các thao tác trên con trỏ .
7.2.2. Nội dung của ô nhớ con trỏ chỉ tới.
 Để truy cập đến nội dung của ô nhớ mà con trỏ chỉ tới, ta sử dụng cú pháp:

*<Tên biến con trỏ>
 Với cách truy cập này thì *<Tên biến con trỏ> có thể coi là một biến có kiểu được mô tả trong phần

khai báo biến con trỏ.
Ví dụ: Ví dụ sau đây cho phép khai báo, gán địa chỉ cũng như lấy nội dung vùng nhớ của biến con trỏ:
int x=100;
int *ptr;
ptr=&x;
int y= *ptr;
 Lưu ý: Khi gán địa chỉ của một biến cho một biến con trỏ, mọi sự thay đổi trên nội dung ô nhớ con trỏ

chỉ tới sẽ làm giá trị của biến thay đổi theo (thực chất nội dung ô nhớ và biến chỉ là một)

6

#include “...
Lập trình cơ bản với C
Chương 7: Con trỏ và mảng
1
Ngôn ngữ lập trình C - Trang 2
Để xem tài liệu đầy đủ. Xin vui lòng
Ngôn ngữ lập trình C - Người đăng: Phiêu Linh Trắng
5 Tài liệu rất hay! Được đăng lên bởi - 1 giờ trước Đúng là cái mình đang tìm. Rất hay và bổ ích. Cảm ơn bạn!
52 Vietnamese
Ngôn ngữ lập trình C 9 10 688