Ngôn ngữ lập trình c&c++ ( Phạm Hồng Thái) P13

10 6 0
Ngôn ngữ lập trình c&c++ ( Phạm Hồng Thái) P13

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

Thông tin tài liệu

Chương 4. Hàm và chương trình Tham trị Tham chiếu Dẫn trỏ 7. Hàm và mảng dữ liệu a. Truyền mảng 1 chiều cho hàm Thông thường chúng ta hay xây dựng các hàm làm việc trên mảng như vectơ hay ma trận các phần tử. Khi đó tham đối thực sự của hàm sẽ là các mảng dữ liệu này. Trong trường hợp này ta có 2 cách khai báo đối. Cách thứ nhất đối được khai báo bình thường như khai báo biến mảng nhưng không cần có số phần tử kèm theo, ví dụ: − int x[]; − float x[]; Cách thứ...

Chương Hàm chương trình Tham trị Tham chiếu Dẫn trỏ Khai báo đối void swap(int x, int y) void swap(int &x, int &y) void swap(int *x, int *y) Câu lệnh t = x; x = y; y = t; t = x; x = y; y = t; t = *x; *x = *y; *y = t; Lời gọi swap(a, b); swap(a, b); swap(&a, &b); Tác dụng a, b khơng thay đổi a, b có thay đổi a, b có thay đổi Hàm mảng liệu a Truyền mảng chiều cho hàm Thông thường hay xây dựng hàm làm việc mảng vectơ hay ma trận phần tử Khi tham đối thực hàm mảng liệu Trong trường hợp ta có cách khai báo đối Cách thứ đối khai báo bình thường khai báo biến mảng khơng cần có số phần tử kèm theo, ví dụ: − int x[]; − float x[]; Cách thứ hai khai báo đối trỏ kiểu phần tử mảng, ví dụ: • int *p; • float *p Trong lời gọi hàm tên mảng a viết vào danh sách tham đối thực sự, a địa phần tử mảng a, nên hàm gọi địa gán cho trỏ p Vì giá trị phần tử thứ i a truy cập x[i] (theo khai báo 1) *(p+i) (theo khai báo 2) thay đổi thực (do cách truyền theo dẫn trỏ) Sau ví dụ đơn giản, nhập in vectơ, minh hoạ cho kiểu khai báo đối Ví dụ : Hàm nhập in giá trị vectơ void nhap(int x[], int n) // n: số phần tử { int i; for (i=0; i> x[i]; // cin >> *(x+i) } void in(int *p, int n) { 109 Chương Hàm chương trình int i; for (i=0; i

Ngày đăng: 20/05/2021, 02:31

Tài liệu cùng người dùng

Tài liệu liên quan