Bài giảng Phương pháp lập trình: Chương 7
Số trang: 16
Loại file: ppt
Dung lượng: 414.50 KB
Lượt xem: 20
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng Phương pháp lập trình: Chương 7 cung cấp cho các bạn những kiến thức về kiểu con trỏ với những nội dung chính như định nghĩa, khai báo; các thao tác trên biến con trỏ, con trỏ và mảng, thông số hình thức kiểu con trỏ, cấp phát động.
Nội dung trích xuất từ tài liệu:
Bài giảng Phương pháp lập trình: Chương 7CHƯƠNG 7 KIỂU CON TRỎ ( POINTER )Nội dung:I. Định nghĩa -Khai báo.II. Các thao tác trên biến con trỏ.III. Con trỏ và mảng.IV. Thông số hình thức kiểu con trỏ.V. Cấp phát động.I. ĐỊNH NGHĨA – KHAI BÁO- ĐN: Biến kiểu con trỏ là biến chứa địa chỉ của một biến khác.- Các loại biến con trỏ: Nếu biến con trỏ chứa: địa biến nguyên ta gọi là con trỏ nguyên, địa chỉ biến thực gọi là con trỏ thực, địa chỉ biến ký tự gọi là con trỏ ký tự...- Cú pháp khai báo: tên_kiểu* tên_biến;trong đó: tên_kiểu là những kiểu đã được định nghĩaý nghĩa: khai báo biến tên_biến là biến con trỏ tên_kiểu, dùng để chứa địa chỉ của biến có kiểu là tên_kiểu.I. ĐỊNH NGHĨA – KHAI BÁOVí dụ: int* pa; float* pf; char* s; int* a[100]; int (*a)[100];II. CÁC THAO TÁC:1. Lấy địa chỉ của 1 biến: (address operator) Sử dụng tóan tử &Ví dụ: int a=10; int*pa; pa=&a;II. CÁC THAO TÁC:2.Lấy dữ liệu tại địa chỉ:(indirection operator) Sử dụng tóan tử *Ví dụ: int a=10; int*pa; pa=&a; coutII. CÁC THAO TÁC:3.Cộng trừ con trỏ với số nguyên: Khi cộng với 1, địa chỉ được tăng lên một lượng bằng kích thước kiểu con trỏ.Ví dụ 1: int a=10; int*pa=&a; coutII. CÁC THAO TÁC:Ví dụ 2: int a[]={5,10,15,20,25}; int*pa=&a[0]; coutII. CÁC THAO TÁC:4.So sánh 2 con trỏ:Giống so sánh 2 số nguyên.Thường dùng khi 2 con trỏ cùng trỏ đến phần tử của 1 mảng.III. CON TRỎ VÀ MẢNG:1. Truy xuất phần tử mảng thông qua biến con trỏ:Ví dụ: int a[4]; int* p=&a[0]; a[0] tương đương với *(p+0) a[1] tương đương với *(p+1) a[2] tương đương với *(p+2) a[3] tương đương với *(p+3)III. CON TRỎ VÀ MẢNG:2. Tên biến mảng là hằng con trỏ: có trị bằng địa chỉ của phần tử đầu.Ví dụ: int a[4]; int i=2; khi đó a[i] tương đương *(a+i)III. CON TRỎ VÀ MẢNG:3. Tên thông số hình thức mảng tương đương biến con trỏ đối với hàm.Ví dụ: void nhap(int a[], int &n); tương đương với void nhap(int *a, int &n); III. THAY ĐỔI THÔNG SỐ THỰC BẰNG THÔNG SỐ HÌNH THỨC CON TRỎ:Ví dụ: void swap(int*pa, int* pb) { int tam; tam=*pa; *pa=*pb; *pb=tam; }V. CẤP PHÁT ĐỘNG:1. Khái niệm: stack heap2. Toán tử new Cú pháp: biến_con_trỏ=new tên_kiểu[N]; Ý nghĩa: Cấp phát vùng nhớ đủ để lưu N biến kiểu tên_kiểu. Mặc định N=1 (khi không có N).3. Toán tử delete Cú pháp: delete biến_con_trỏ; delete [] biến_con_trỏ; Ý nghĩa: Thu hồi vùng nhớ đã cấp phát cho biến_con_trỏ bằng new.V. CẤP PHÁT ĐỘNG:Ví dụ: int * a; a=new int; int *p; p=new int[100]; delete a; delete [] p;Ví dụ: Sử dụng mảng cấp phát độngvoid nhap(int* &a, int&n){ coutn; a=new int[n]; for(int i=0; i>a[i]; //hoặc cin>>*(a+i);}void xuat(int* a, int n){ for(int i=0; i
Nội dung trích xuất từ tài liệu:
Bài giảng Phương pháp lập trình: Chương 7CHƯƠNG 7 KIỂU CON TRỎ ( POINTER )Nội dung:I. Định nghĩa -Khai báo.II. Các thao tác trên biến con trỏ.III. Con trỏ và mảng.IV. Thông số hình thức kiểu con trỏ.V. Cấp phát động.I. ĐỊNH NGHĨA – KHAI BÁO- ĐN: Biến kiểu con trỏ là biến chứa địa chỉ của một biến khác.- Các loại biến con trỏ: Nếu biến con trỏ chứa: địa biến nguyên ta gọi là con trỏ nguyên, địa chỉ biến thực gọi là con trỏ thực, địa chỉ biến ký tự gọi là con trỏ ký tự...- Cú pháp khai báo: tên_kiểu* tên_biến;trong đó: tên_kiểu là những kiểu đã được định nghĩaý nghĩa: khai báo biến tên_biến là biến con trỏ tên_kiểu, dùng để chứa địa chỉ của biến có kiểu là tên_kiểu.I. ĐỊNH NGHĨA – KHAI BÁOVí dụ: int* pa; float* pf; char* s; int* a[100]; int (*a)[100];II. CÁC THAO TÁC:1. Lấy địa chỉ của 1 biến: (address operator) Sử dụng tóan tử &Ví dụ: int a=10; int*pa; pa=&a;II. CÁC THAO TÁC:2.Lấy dữ liệu tại địa chỉ:(indirection operator) Sử dụng tóan tử *Ví dụ: int a=10; int*pa; pa=&a; coutII. CÁC THAO TÁC:3.Cộng trừ con trỏ với số nguyên: Khi cộng với 1, địa chỉ được tăng lên một lượng bằng kích thước kiểu con trỏ.Ví dụ 1: int a=10; int*pa=&a; coutII. CÁC THAO TÁC:Ví dụ 2: int a[]={5,10,15,20,25}; int*pa=&a[0]; coutII. CÁC THAO TÁC:4.So sánh 2 con trỏ:Giống so sánh 2 số nguyên.Thường dùng khi 2 con trỏ cùng trỏ đến phần tử của 1 mảng.III. CON TRỎ VÀ MẢNG:1. Truy xuất phần tử mảng thông qua biến con trỏ:Ví dụ: int a[4]; int* p=&a[0]; a[0] tương đương với *(p+0) a[1] tương đương với *(p+1) a[2] tương đương với *(p+2) a[3] tương đương với *(p+3)III. CON TRỎ VÀ MẢNG:2. Tên biến mảng là hằng con trỏ: có trị bằng địa chỉ của phần tử đầu.Ví dụ: int a[4]; int i=2; khi đó a[i] tương đương *(a+i)III. CON TRỎ VÀ MẢNG:3. Tên thông số hình thức mảng tương đương biến con trỏ đối với hàm.Ví dụ: void nhap(int a[], int &n); tương đương với void nhap(int *a, int &n); III. THAY ĐỔI THÔNG SỐ THỰC BẰNG THÔNG SỐ HÌNH THỨC CON TRỎ:Ví dụ: void swap(int*pa, int* pb) { int tam; tam=*pa; *pa=*pb; *pb=tam; }V. CẤP PHÁT ĐỘNG:1. Khái niệm: stack heap2. Toán tử new Cú pháp: biến_con_trỏ=new tên_kiểu[N]; Ý nghĩa: Cấp phát vùng nhớ đủ để lưu N biến kiểu tên_kiểu. Mặc định N=1 (khi không có N).3. Toán tử delete Cú pháp: delete biến_con_trỏ; delete [] biến_con_trỏ; Ý nghĩa: Thu hồi vùng nhớ đã cấp phát cho biến_con_trỏ bằng new.V. CẤP PHÁT ĐỘNG:Ví dụ: int * a; a=new int; int *p; p=new int[100]; delete a; delete [] p;Ví dụ: Sử dụng mảng cấp phát độngvoid nhap(int* &a, int&n){ coutn; a=new int[n]; for(int i=0; i>a[i]; //hoặc cin>>*(a+i);}void xuat(int* a, int n){ for(int i=0; i
Tìm kiếm theo từ khóa liên quan:
Phương pháp lập trình Bài giảng Phương pháp lập trình Kỹ thuật lập trình Thao tác trên biến con trỏ Hình thức kiểu con trỏ Kiểu con trỏTài liệu liên quan:
-
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 267 0 0 -
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 209 0 0 -
Giáo trình Lập trình logic trong prolog: Phần 1
114 trang 196 0 0 -
Giới thiệu môn học Ngôn ngữ lập trình C++
5 trang 195 0 0 -
Giáo trình Lập trình C căn bản
135 trang 171 0 0 -
Giáo trình Lập trình C căn bản: Phần 1
64 trang 170 0 0 -
Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình
30 trang 169 0 0 -
Luận văn: Nghiên cứu kỹ thuật giấu tin trong ảnh Gif
33 trang 153 0 0 -
14 trang 134 0 0
-
Báo cáo thực tập Công nghệ thông tin: Lập trình game trên Unity
27 trang 119 0 0