Tin Tức

recent

Con trỏ - Bài 3: Con trỏ là tham số của hàm (Phần 2)




Một ví dụ thường thấy là hàm HoanVi() nhằm hoán chuyển nội dung của 2 biến a, b khi gửi địa chỉ của chúng đến khi gọi hàm với lời gọi là HoanVi(&a, &b).
- Sau khi gọi hàm, ta muốn a nhận giá trị của b, còn b nhận giá trị cũ của a, trong đó các tham số x và y là địa chỉ của các biến cần hoán chuyển nội dung, còn *x và *y chính là các biến mà địa chỉ của chúng lưu tương ứng trong x và y.
- Đối với lời gọi hàm thì địa chỉ của biến a được chuyến vào x (tức là lúc đó x = &a), còn địa chỉ của biến b được chuyển vào y(tương đương y = &b).
-> Do vậy *x nghĩa là *(&a) chính là a, còn *y chính là *(&b) hay là b 
void HoanVi(int* x, int* y) // int* x = &a;  int* y = &b;
{
 int temp = *x;
 *x = *y;
 *y = temp;
}

void main()
{
 int a = 1;
 int b = 2;
 HoanVi(&a, &b);
 cout << "a = " << a <<" ,b = " << b;
}

Nguồn : Vương trí tài
Con trỏ - Bài 3: Con trỏ là tham số của hàm (Phần 2) Reviewed by myblog on 23:09:00 Rating: 5

Không có nhận xét nào:

Bản Quyền Thuộc: Blogger JT © 2016. All Rights Reserved
Phát triển bởi JT

Góp Ý Cho JT Blog

Tên

Email *

Thông báo *

Được tạo bởi Blogger.