intTypePromotion=1

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

Chia sẻ: Utyew WSFGQWET | Ngày: | Loại File: PDF | Số trang:5

0
42
lượt xem
5
download

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

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

3.3.2 Truyền địa chỉ 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

Chủ đề:
Lưu

Nội dung Text: Tìm hiểu hàm và thư viện lập trình phần 5

  1. 3.3.2 Truyền ₫ịa chỉ int SumInt(int* p, int N); // Function call void main() { SP k k = 45 int a[] = {1, 2, 3, 4}; N=4 int k = SumInt(a,4); p=00A0 ... SP k k = 45 } a[3]=4 a[2]=3 // Function definition a[1]=2 int SumInt(int* p, int N) { a[0]=1 00A0 int *p2 = p + N, k = 0; © 2004, HOÀNG MINH SƠN while (p < p2) k += *p++; return k; } 21 Chương 3: Hàm và thư viện
  2. Truyền mảng tham số? int SumInt(int p[4], int N); // Function call void main() { int a[] = {1, 2, 3, 4}; Bản chất như int k = SumInt(a,4); trong ví dụ trước: ... Truyền ₫ịa chỉ! } // Function definition int SumInt(int p[4], int N) { int *p2 = p + N, k = 0; © 2004, HOÀNG MINH SƠN while (p < p2) k += *p++; return k; } 22 Chương 3: Hàm và thư viện
  3. Thử lại ví dụ ₫ọc từ bàn phím #include void ReadInt(const char* userPrompt, int* pN) { cout > *pN; } void main() { int x = 5; ReadInt("Input an integer number:", &x); cout
  4. Khi nào sử dụng truyền ₫ịa chỉ? Khi cần thay ₫ổi "biến ₫ầu vào" (truy nhập trực tiếp vào ô nhớ, không qua bản sao) Khi kích cỡ kiểu dữ liệu lớn => tránh sao chép dữ liệu vào ngăn xếp Truyền tham số là một mảng => bắt buộc truyền ₫ịa chỉ Lưu ý: Sử dụng con trỏ ₫ể truyền ₫ịa chỉ của vùng nhớ dữ liệu ₫ầu vào. Bản thân con trỏ có thể thay ₫ổi © 2004, HOÀNG MINH SƠN ₫ược trong hàm nhưng ₫ịa chỉ 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. 24 Chương 3: Hàm và thư viện
  5. 3.3.3 Truyền tham chiếu (C++) #include void ReadInt(const char* userPrompt, int& N) { cout > N; } void main() { int x = 5; ReadInt("Input an integer number:", x); cout
ADSENSE
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản