Bài giảng Tin học đại cương - Bài 4: Con trỏ và mảng
Số trang: 50
Loại file: ppt
Dung lượng: 1.75 MB
Lượt xem: 17
Lượt tải: 0
Xem trước 5 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng Tin học đại cương - Bài 4: Con trỏ và mảng trình bày con trỏ và địa chỉ; mảng; sử dụng con trỏ làm việc với mảng. Để nắm chắc kiến thức mời các bạn cùng tham khảo bài giảng.
Nội dung trích xuất từ tài liệu:
Bài giảng Tin học đại cương - Bài 4: Con trỏ và mảng VIỆNCÔNGNGHỆTHÔNGTIN S CHOOLOF INFORMATIONCOMMUNICATIONTECHNOLOGY TIN HỌC ĐẠI CƯƠNGPHẦN 2: LẬP TRÌNH BẰNG NGÔN NGỮ C BÀI 4: CON TRỎ VÀ MẢNG Ts. Nguyễn Thanh Hùng 1 BÀI 4: CON TRỎ VÀ MẢNG4.1. Con trỏ và địa chỉ 4.1.1. Tổng quan về con trỏ 4.1.2. Các phép toán làm việc với con trỏ4.2. Mảng 4.2.1. Khái niệm mảng 4.2.2. Khai báo và sử dụng mảng 4.2.3. Các thao tác cơ bản làm việc trên mảng4.3. Sử dụng con trỏ làm việc với mảng 2 4.1.1. Tổng quan về con trỏa. Địa chỉ và giá trị của một biến Bộ nhớ như một dãy các byte nhớ. Các byte nhớ được xác định một cách duy nhất qua một địa chỉ. Biến được lưu trong bộ nhớ. Khi khai báo một biến Chương trình dịch sẽ cấp phát cho biến đó một số ô nhớ liên tiếp đủ để chứa nội dung của biến. Ví dụ một biến số nguyên (int) được cấp phát 2 byte. Địa chỉ của một biến chính là địa chỉ của byte đầu tiên trong số đó. 3 4.1.1. Tổng quan về con trỏa. Địa chỉ và giá trị của một biến (tiếp) Một biến luôn có hai đặc tính: Địa chỉ của biến. Giá trị của biến. Ví dụ: int i, j; Biến Địa chỉ Giá trị i = 3; j = i + 1; i FFEC 3 j FFEE 4 4 4.1.1. Tổng quan về con trỏb. Khái niệm và khai báo con trỏ Con trỏ là một biến mà giá trị của nó là địa chỉ của một vùng nhớ. ... p ... a ... Khai báo con trỏ: Cú pháp khai báo một con trỏ như sau:Kieu_du_lieu *ten_bien_con_tro; Ví dụ Biến Địachỉ Giátrị int i = 3; i FFEC 3 int *p; p FFEE FFEC p = &i; Một con trỏ chỉ có thể trỏ tới một đối tượng cùng kiểu. 5 4.1.1. Tổng quan về con trỏToán tử & và * Toán tử &: Trả về địa chỉ của biến. Toán tử *: Trả về giá trị chứa trong vùng nhớ được trỏ bởi giá trị của biến con trỏ. Cả hai toán tử * và & có độ ưu tiên cao hơn tất cả các toán tử số học ngoại trừ toán tử đảo dấu. Ví dụ:void main(){ int i = 3; int *p; p = &i; printf(*p = %d ,*p); getch();} 6 4.1.1. Tổng quan về con trỏc. Sử dụng biến con trỏ: Một biến con trỏ có thể được gán bởi: Địa chỉ của một biến khác: ten_bien_con_tro = &ten_bien; Giá trị của một con trỏ khác (tốt nhất là cùng kiểu): ten_bien_con_tro2 = ten_bien_con_tro1; Giá trị NULL (số 0): ten_bien_con_tro = 0; Gán giá trị cho biến con trỏ: *ten_bien_con_tro = 10; 7 4.1.1. Tổng quan về con trỏVí dụ 1:main(){ int i = 3, j = 6; int *p1, *p2; p1 = &i; p2 = &j; *p1 = *p2;} 8 4.1.1. Tổng quan về con trỏVí dụ 2:main(){ int i = 3, j = 6; int *p1, *p2; p1 = &i; p2 = &j; p1 = p2;} 9 4.1.1. Tổng quan về con trỏd. Con trỏ void void *ten_bien_con_tro; Con trỏ đặc biệt, không có kiểu, Có thể nhận giá trị là địa chỉ của một biến thuộc bất kỳ kiểu dữ liệu nào. Ví dụ: void *p, *q; int x = 21; float y = 34.34; p = &x; q = &y; 104.1.2. Các phép toán làm việc với con trỏCộng/trừ con trỏ với một số nguyên (int, long) Kếtquả là một con trỏ cùng kiểu ptr--; //ptr trỏ đến vị trí của phần tử đứng trước nó.Trừ hai con trỏ cho nhau Kết quả là một số nguyên Kết quả này nói lên khoảng cách (số phần tử thuộc kiểu dữ liệu của con trỏ) ở giữa hai con trỏ.Các phép toán: Cộng, nhân, chia, lấy số dư trên con trỏlà không hợp lệ.Ví dụ: (p2 trỏ đến số nguyên nằm ngay sau x trong bộ nhớ)int x, *p1, *p2;p1= &x;p2= p1+1; 11 BÀI 4: CON TRỎ VÀ MẢNG4.1. Con trỏ và địa chỉ 4.1.1. Tổng quan về con trỏ 4.1.2. Các phép toán làm việc với con trỏ4.2. Mảng 4.2.1. Khái niệm mảng 4.2.2. Khai báo và sử dụng mảng 4.2.3. Các thao tác cơ bản làm việc trên mảng4.3. Sử dụng con trỏ làm việc với mảng 12 4.2.1. Khái niệm mảngMảng là một tập hợp hữu hạn c[0] 45 ...
Nội dung trích xuất từ tài liệu:
Bài giảng Tin học đại cương - Bài 4: Con trỏ và mảng VIỆNCÔNGNGHỆTHÔNGTIN S CHOOLOF INFORMATIONCOMMUNICATIONTECHNOLOGY TIN HỌC ĐẠI CƯƠNGPHẦN 2: LẬP TRÌNH BẰNG NGÔN NGỮ C BÀI 4: CON TRỎ VÀ MẢNG Ts. Nguyễn Thanh Hùng 1 BÀI 4: CON TRỎ VÀ MẢNG4.1. Con trỏ và địa chỉ 4.1.1. Tổng quan về con trỏ 4.1.2. Các phép toán làm việc với con trỏ4.2. Mảng 4.2.1. Khái niệm mảng 4.2.2. Khai báo và sử dụng mảng 4.2.3. Các thao tác cơ bản làm việc trên mảng4.3. Sử dụng con trỏ làm việc với mảng 2 4.1.1. Tổng quan về con trỏa. Địa chỉ và giá trị của một biến Bộ nhớ như một dãy các byte nhớ. Các byte nhớ được xác định một cách duy nhất qua một địa chỉ. Biến được lưu trong bộ nhớ. Khi khai báo một biến Chương trình dịch sẽ cấp phát cho biến đó một số ô nhớ liên tiếp đủ để chứa nội dung của biến. Ví dụ một biến số nguyên (int) được cấp phát 2 byte. Địa chỉ của một biến chính là địa chỉ của byte đầu tiên trong số đó. 3 4.1.1. Tổng quan về con trỏa. Địa chỉ và giá trị của một biến (tiếp) Một biến luôn có hai đặc tính: Địa chỉ của biến. Giá trị của biến. Ví dụ: int i, j; Biến Địa chỉ Giá trị i = 3; j = i + 1; i FFEC 3 j FFEE 4 4 4.1.1. Tổng quan về con trỏb. Khái niệm và khai báo con trỏ Con trỏ là một biến mà giá trị của nó là địa chỉ của một vùng nhớ. ... p ... a ... Khai báo con trỏ: Cú pháp khai báo một con trỏ như sau:Kieu_du_lieu *ten_bien_con_tro; Ví dụ Biến Địachỉ Giátrị int i = 3; i FFEC 3 int *p; p FFEE FFEC p = &i; Một con trỏ chỉ có thể trỏ tới một đối tượng cùng kiểu. 5 4.1.1. Tổng quan về con trỏToán tử & và * Toán tử &: Trả về địa chỉ của biến. Toán tử *: Trả về giá trị chứa trong vùng nhớ được trỏ bởi giá trị của biến con trỏ. Cả hai toán tử * và & có độ ưu tiên cao hơn tất cả các toán tử số học ngoại trừ toán tử đảo dấu. Ví dụ:void main(){ int i = 3; int *p; p = &i; printf(*p = %d ,*p); getch();} 6 4.1.1. Tổng quan về con trỏc. Sử dụng biến con trỏ: Một biến con trỏ có thể được gán bởi: Địa chỉ của một biến khác: ten_bien_con_tro = &ten_bien; Giá trị của một con trỏ khác (tốt nhất là cùng kiểu): ten_bien_con_tro2 = ten_bien_con_tro1; Giá trị NULL (số 0): ten_bien_con_tro = 0; Gán giá trị cho biến con trỏ: *ten_bien_con_tro = 10; 7 4.1.1. Tổng quan về con trỏVí dụ 1:main(){ int i = 3, j = 6; int *p1, *p2; p1 = &i; p2 = &j; *p1 = *p2;} 8 4.1.1. Tổng quan về con trỏVí dụ 2:main(){ int i = 3, j = 6; int *p1, *p2; p1 = &i; p2 = &j; p1 = p2;} 9 4.1.1. Tổng quan về con trỏd. Con trỏ void void *ten_bien_con_tro; Con trỏ đặc biệt, không có kiểu, Có thể nhận giá trị là địa chỉ của một biến thuộc bất kỳ kiểu dữ liệu nào. Ví dụ: void *p, *q; int x = 21; float y = 34.34; p = &x; q = &y; 104.1.2. Các phép toán làm việc với con trỏCộng/trừ con trỏ với một số nguyên (int, long) Kếtquả là một con trỏ cùng kiểu ptr--; //ptr trỏ đến vị trí của phần tử đứng trước nó.Trừ hai con trỏ cho nhau Kết quả là một số nguyên Kết quả này nói lên khoảng cách (số phần tử thuộc kiểu dữ liệu của con trỏ) ở giữa hai con trỏ.Các phép toán: Cộng, nhân, chia, lấy số dư trên con trỏlà không hợp lệ.Ví dụ: (p2 trỏ đến số nguyên nằm ngay sau x trong bộ nhớ)int x, *p1, *p2;p1= &x;p2= p1+1; 11 BÀI 4: CON TRỎ VÀ MẢNG4.1. Con trỏ và địa chỉ 4.1.1. Tổng quan về con trỏ 4.1.2. Các phép toán làm việc với con trỏ4.2. Mảng 4.2.1. Khái niệm mảng 4.2.2. Khai báo và sử dụng mảng 4.2.3. Các thao tác cơ bản làm việc trên mảng4.3. Sử dụng con trỏ làm việc với mảng 12 4.2.1. Khái niệm mảngMảng là một tập hợp hữu hạn c[0] 45 ...
Tìm kiếm theo từ khóa liên quan:
Tin học đại cương Các cấu trúc lập trình Lập trình bằng ngôn ngữ C Con trỏ và mảng Sử dụng con trỏ làm việc với mảngTài liệu có liên quan:
-
Ứng dụng công cụ Quizizz thiết kế trò chơi học tập trong giảng dạy học phần tin học đại cương
12 trang 310 0 0 -
Tài liệu hướng dẫn thực hành Tin học đại cương - ĐH Bách Khoa Hà Nội
40 trang 263 0 0 -
Giáo trình Tin học đại cương part 7
19 trang 254 0 0 -
Giáo trình Tin học đại cương: Phần 1 - ĐH Kinh tế Quốc Dân
130 trang 185 0 0 -
Giáo trình Tin học đại cương: Phần 2 - Trần Đình Khang
118 trang 159 0 0 -
Giáo trình Tin học đại cương (Tái bản năm 2020): Phần 1 - PGS.TS. Nguyễn Thị Thu Thủy (Chủ biên)
105 trang 148 0 0 -
Hướng dẫn thực hành lập trình C trên Visual Studio
9 trang 139 0 0 -
Giáo trình Tin học đại cương: Phần 1 - Vi Hồng Thắm
90 trang 136 0 0 -
Quản trị người dùng trong Exchange 2007 bằng Powershell
9 trang 112 0 0 -
Đề cương học phần Tin học đại cương
23 trang 108 0 0