1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Phương pháp lập trình - Chương 5: Con trỏ

10 4 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Chương 5 giới thiệu về con trỏ trong lập trình. Các nội dung chính của chương gồm có: Giới thiệu con trỏ, khai báo biến con trỏ, toán tử con trỏ (pointer operators), các thao tác trên con trỏ, cấp phát bộ nhớ động, con trỏ void (void pointers), con trỏ null (null pointers), con trỏ và mảng, mảng con trỏ. Mời tham khảo.

27/12/201111 Giới thiệu CHƯƠNG CON TRỎ (Pointers)  Một trỏ biến chứa địa nhớ Địa vị trí đối tượng khác nhớ  Nếu biến chứa địa biến khác, biến thứ gọi trỏ đến biến thứ hai Toán tử trỏ (pointer operators) Giới thiệu Địa nhớ  Biến nhớ Một biến cấp phát ô nhớ địa 1000 có giá trị địa (1003) biến khác Biến thứ gọi trỏ Toán tử & tốn tử ngơi, trả địa nhớ tốn hạng ◦ Tốn tử & dùng để gán địa biến cho biến trỏ Cú pháp: =& Bộ nhớ 27/12/201111 Toán tử trỏ (pointer operators) Khai báo biến trỏ  Cú pháp:  type *pointerVariable; type: xác định kiểu liệu biến mà trỏ trỏ đến Ví dụ: int *a; a Ví dụ: int a=25, x; int *y; x=a; y=&a; a 25 x y y Toán tử trỏ (pointer operators)  Các thao tác trỏ Toán tử * : toán tử trả giá trị địa trỏ trỏ đến Cú pháp:  * Ví dụ: a=*p ; Lệnh gán trỏ Có thể dùng phép gán để gán giá trị trỏ cho trỏ khác có kiểu Ví dụ: int x; int *p1, *p2; p1 = &x; p2 = p1; Sau đọan lệnh thực hiện, hai p1 p2 trỏ đến biến x 27/12/201111 Các thao tác trỏ  Các thao tác trỏ Phép tốn số học trỏ Ví dụ : char *a; short *b; long *c; Các trỏ a, b, c trỏ tới ô nhớ 1000, 2000 3000 Cộng trỏ với số nguyên: a = a + 1;//con trỏ a dời byte b = b + 1;//con trỏ b dời byte c = c + 1; //con trỏ c dời byte ◦ Chỉ có phép tốn sử dụng trỏ phép cộng trừ ◦ Khi cộng (+) trừ (-) trỏ với số nguyên N; kết trả trỏ Con trỏ đến vùng nhớ cách vùng nhớ trỏ số ngun lần kích thước kiểu liệu Các thao tác trỏ 10 Các thao tác trỏ  Lưu ý: hai toán tử tăng (++) giảm ( ) có quyền ưu tiên lớn tốn tử * Ví dụ: *p++; Lệnh *p++ tương đương với *(p++) : thực tăng p (địa nhớ mà trỏ tới giá trị trỏ tới) 11 12 27/12/201111 Các thao tác trỏ Các thao tác trỏ Ví dụ: #include #include void main () { int a = 20, b = 15, *pa, *pb, temp; pa = &a; // trỏ pa chứa địa a pb = &b; // trỏ pb chứa địa b temp = *pa; // kết xuất *pa = *pb; *pb = temp; hình cout

Ngày đăng: 21/05/2021, 15:04

Xem thêm: