- Truyền bằng tên
6.3.2. Truyền bằng tham chiếu
6.3.2. Truyền bằng tham chiếu
• Truyền bằng tham chiếu là phương pháp thực thi thứ 2 cho các tham số In-out mode.
• Trong đó
- Tham số hình thức là tham số vào ra, do đó nó sẽ nhận giá trị vào cho chương trình con và trả về kết quả cho chương trình gọi.
- Tham số hình thức là một con trỏ và tham số thực tế phải là một biến
• Phương pháp thực hiện:
- Tại thời điểm gọi: nó truyền một đường dẫn truy cập, thông thường chỉ là một địa chỉ, đến chương trình con được gọi
- Khi kết thúc: mọi thay đổi giá trị của tham số hình thức đều làm giá trị của tham số thực thay đổi theo.
• Ngoài bốn phương pháp trên, còn một phương pháp đó là truyền bằng tên, là một phương pháp truyền các tham số In-out mode. Tuy nhiên, nó không được sử dụng rộng rãi trong các NNLT.
6.3.2. Truyền bằng tham chiếu
6.3.2. Truyền bằng tham chiếu
Ví dụ 6.4: Xét chương trình đổi 2 số nguyên bằng ngôn ngữ giả tựa Pascal như sau:
var a, b: integer;
procedure hoanvi_2so(contrỏ x: integer; contrỏ y: integer);
var tg: integer;
begin
tg: = gtrị tại địa chỉ x trỏ đến;
giá trị tại địa chỉ x trỏ : = gtrị tại đại chỉ y trỏ;
gtrị tại đại chỉ y trỏ : = tg; … end; begin a:= 50; b:= 100; hoanvi_2so(a,b); . . . end. 50 100 a b x y x y Tại thời điểm gọi
Trong thời điểm CTC thực hiện 50 100 a btg 50 x y 100 100 a btg 50