tailieunhanh - Bài tập kỹ thuật lập trình Part C++ 4

Mảng một chiều CHƯƠNG 4 MẢNG MỘT CHIỀU Cách khai báo dữ liệu kiểu mảng, các thao tác nhập xuất, các kỹ thuật thao tác trên mảng. Ứng dụng các kỹ thuật này trong việc cài đặt các hàm tìm kiếm, kiểm tra, xây dựng mảng, tách và ghép mảng. | Mảng một chiều CHƯƠNG 4 MẢNG MỘT CHIỀU Cách khai báo dữ liệu kiểu mảng các thao tác nhập xuất các kỹ thuật thao tác trên mảng. Ứng dụng các kỹ thuật này trong việc cài đặt các hàm tìm kiếm kiểm tra xây dựng mảng tách và ghép mảng. I. TÓM TẮT LÝ THUYẾT . Khái niệm Mảng thực chất là một biến được cấp phát bộ nhớ liên tục và bao gồm nhiều biến thành phần. Các thành phần của mảng là tập hợp các biến có cùng kiểu dữ liệu và cùng tên. Do đó để truy xuất các biến thành phần ta dùng cơ chế chỉ mục. . Khai báo mảng Để khai báo một mảng ta có 2 cách khai báo sau Cách 1 Con trỏ hằng Kiểu dữ liệu Tên mảng Số phần tử tối đa của mảng Ví du int a 100 Khai bao mang so nguyen a gom 100phan tu float b 50 Khai bao mang so thuc b gom 50phan tu Cách 2 Con trỏ Ý nghĩa Khi ta khai báo một mảng với kiểu dữ liệu bất kì int float char . thì tên của mảng thực chất là một hằng địa chỉ của phần tử đầu tiên. Kiểu dữ liệu Tên mảng Ví du int p khai bao con tro p int b 100 p b p tro vao phan tu 0 cua mang b Với cách viết như trên thì ta có thể hiểu các cách viết sau là tương đương p i p i b i b i Giáo trình Bài Tập Kỹ Thuật Lập Trình Trang 41 Mảng một chiều Lưu ý Khi sử dụng biến con trỏ để truy xuất mảng theo cách như trên thì thực chất con trỏ p chỉ chiếm 2 byte bộ nhớ để chứa địa chỉ mà thôi. Để tạo mảng chứa dữ liệu thành phần thì ta phải cấp phát vùng nhớ cho con trỏ p. Dùng hàm malloc calloc trong thư viện để cấp phát vùng nhớ. Ví du Cách 1 dùng malloc int px Khai báo con trỏ px px int malloc 100 Cấp phát 100 ô nhớ kiểu int cho con trỏ px Cách 2 dùng calloc int p khai báo con trỏ p p int calloc 100 sizeof int cấp phát 10 ô nhớ mỗi ô chiếm 2bytes Sau khi sử dụng xong thì nên giải phóng vùng nhớ bằng hàm free Ví dụ free p giải phóng vùng nhớ cho con trỏ p. . Truy xuất phần tử của mảng Với khái niệm và cách khai báo như trên ta có hình dạng của mảng một chiều như sau Ví dụ int A 5 Khai báo mảng A gồm tối đa 5 phần tử nguyên. Chỉ số 0 1 2 3 4 A 0 A 1 A 2 A 3 A 4 Ví dụ minh hoạ