3.5.2 Truyền tham trị cho hàm

Từ trước tới giờ, chúng tôi đã giả định rằng các giá trị tham số thực tế được gửi đến hàm và không gì về đường về của chúng. Các tham số của chúng ta đi đến thân hàm và chúng ta không mong đợi chúng trở lại từ đó.

Hãy làm một thí nghiệm đơn giản cho thấy một hàm có thể thay đổi giá trị của tham số của nó hay không →

Như bạn thấy, Hàm AmIAbleToChangeMyParameter tăng giá trị của tham số của nó. Câu hỏi là: giá trị sửa đổi có thể nhìn thấy bên ngoài hàm không ? Nói cách khác: sự thay đổi của tham số hình thức phản ánh đúng giá trị của tham số thực tế không ?

Hãy biên dịch code và chạy nó. Nó sẽ tạo ra kết quả sau:

Hãy phân tích ví dụ một cách cẩn thận và tự kiểm chứng. Như bạn thấy, giá trị tham số hình thức không thay thế giá trị của tham số thực khi trả về từ hàm. Chúng ta có thể nói rằng tham số thực tế có một vé một chiều: nó chuyển một giá trị cho hàm và không trả về.

Đừng quên điều đó. Cách giao tiếp này dựa trên việc chuyển một giá trị từ invoker đến hàm. Và đó là lý do tại sao phương pháp này được gọi là truyền tham số theo giá trị (gọi tắt là truyền tham trị)

Lưu ý: invoker là thuật ngữ dùng để chỉ chủ thể của lời gọi đến hàm, trong ví dụ này thì main là invoker của AmIAbleToChangeMyParameter

Hãy bình luận đầu tiên

Để lại một phản hồi

Thư điện tử của bạn sẽ không được hiện thị công khai.


*