Tìm hiểu hàm và thư viện lập trình phần 5 doc

5 280 0
Tìm hiểu hàm và thư viện lập trình phần 5 doc

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

Thông tin tài liệu

21 © 2004, HOÀNG MINH SƠN Chương 3: Hàm và thư viện 3.3.2 Truyền ₫ịachỉ int SumInt(int* p, int N); // Function call void main() { int a[] = {1, 2, 3, 4}; int k = SumInt(a,4); } // Function definition int SumInt(int* p, int N) { int *p2 = p + N, k = 0; while (p < p2) k += *p++; return k; } SP a[0]=1 a[1]=2 a[2]=3 a[3]=4 00A0 k p=00A0 N=4 k SP k = 45 k = 45 22 © 2004, HOÀNG MINH SƠN Chương 3: Hàm và thư viện Truyềnmảng tham số? int SumInt(int p[4], int N); // Function call void main() { int a[] = {1, 2, 3, 4}; int k = SumInt(a,4); } // Function definition int SumInt(int p[4], int N) { int *p2 = p + N, k = 0; while (p < p2) k += *p++; return k; } Bảnchấtnhư trongvídụ trước: Truyền ₫ịachỉ! 23 © 2004, HOÀNG MINH SƠN Chương 3: Hàm và thư viện Thử lạivídụ₫ọctừ bàn phím #include <iostream.h> void ReadInt(const char* userPrompt, int* pN) { cout << userPrompt; cin >> *pN; } void main() { int x = 5; ReadInt("Input an integer number:", &x); cout << "Now x is " << x; }  Kếtquả: x thay ₫ổigiátrị sau ₫ó(cũng là lý do tạisaohàm scanf() lạiyêucầukiểuthambiếnlàcon trỏ!) 24 © 2004, HOÀNG MINH SƠN Chương 3: Hàm và thư viện Khi nào sử dụng truyền ₫ịachỉ?  Khi cầnthay₫ổi"biến ₫ầuvào" (truynhậptrựctiếp vào ô nhớ, không qua bảnsao)  Khi kích cỡ kiểudữ liệulớn=> tránhsaochépdữ liệu vào ngănxếp  Truyềnthamsố là mộtmảng => bắtbuộctruyền ₫ịa chỉ  Lưuý: Sử dụng con trỏ₫ểtruyền ₫ịachỉ của vùng nhớ dữ liệu ₫ầuvào. Bảnthâncon trỏ có thể thay ₫ổi ₫ược trong hàm nhưng ₫ịachỉ vùng nhớ không thay ₫ổi(nội dung của vùng nhớ₫óthay₫ổi ₫ược): xem ví dụ biến p trong hàm SumInt trang 21. 25 © 2004, HOÀNG MINH SƠN Chương 3: Hàm và thư viện 3.3.3 Truyền tham chiếu (C++) #include <iostream.h> void ReadInt(const char* userPrompt, int& N) { cout << userPrompt; cin >> N; } void main() { int x = 5; ReadInt("Input an integer number:", x); cout << "Now x is " << x; }  Kếtquả: x thay ₫ổigiátrị sau ₫ó . tạisaohàm scanf() lạiyêucầukiểuthambiếnlàcon trỏ!) 24 © 2004, HOÀNG MINH SƠN Chương 3: Hàm và thư viện Khi nào sử dụng truyền ₫ịachỉ?  Khi cầnthay₫ổi"biến ₫ầuvào" (truynhậptrựctiếp vào. *p++; return k; } SP a[0]=1 a[1]=2 a[2]=3 a[3]=4 00A0 k p=00A0 N=4 k SP k = 45 k = 45 22 © 2004, HOÀNG MINH SƠN Chương 3: Hàm và thư viện Truyềnmảng tham số? int SumInt(int p[4], int N); // Function call void. thay ₫ổi(nội dung của vùng nhớ₫óthay₫ổi ₫ược): xem ví dụ biến p trong hàm SumInt trang 21. 25 © 2004, HOÀNG MINH SƠN Chương 3: Hàm và thư viện 3.3.3 Truyền tham chiếu (C++) #include <iostream.h> void

Ngày đăng: 31/07/2014, 04:20

Từ khóa liên quan

Mục lục

  • Kỹ thuật lập trìnhPhần II: Lập trình có cấu trúc

  • Nội dung chương 3

  • 3.1 Hàm và lập trình hướng hàm

  • Hàm là gì?

  • Ví dụ phân tích

  • Phương án 4 trong 1

  • Phương án phân hoạch hàm (1)

  • Phương án phân hoạch hàm (1)

  • Phương án phân hoạch hàm (1)

  • Phương án phân hoạch hàm (2)

  • Phương án phân hoạch hàm (2)

  • 3.2 Khai báo và định nghĩa hàm

  • Khai báo hàm và lời gọi hàm

  • Khai báo hàm C/C++ ở đâu?

  • Định nghĩa hàm ở đâu?

  • 3.3 Truyền tham số và trả về kết quả

  • Tham biến hình thức và tham số thực tế

  • 3.3.1 Truyền giá trị

  • Thử ví dụ đọc từ bàn phím

  • Truyền giá trị

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

Tài liệu liên quan