Truyền bằng tham chiếu

Một phần của tài liệu Chương trình con (Trang 29 - 31)

- 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

Một phần của tài liệu Chương trình con (Trang 29 - 31)