Sự khác biệt chính giữa cuộc gọi theo giá trị và cuộc gọi theo tham chiếu
Trong các ngôn ngữ lập trình, các chức năng có thể được gọi theo hai cách: được gọi là cuộc gọi theo giá trị và cuộc gọi theo tham chiếu.
Phương thức gọi theo giá trị là gì?
Gọi theo phương thức giá trị sao chép giá trị của một đối số vào tham số chính thức của hàm đó. Do đó, các thay đổi được thực hiện đối với tham số của hàm chính không ảnh hưởng đến đối số.
Trong phương thức chuyển tham số này, các giá trị của các tham số thực tế được sao chép vào các tham số chính thức của hàm và các tham số được lưu trữ ở các vị trí bộ nhớ khác nhau. Vì vậy, bất kỳ thay đổi nào được thực hiện trong các chức năng bên trong không được phản ánh trong các tham số thực tế của người gọi.
Phương thức gọi bằng phương pháp tham chiếu là gì?
Gọi theo phương thức tham chiếu sao chép địa chỉ của một đối số vào tham số chính thức. Trong phương thức này, địa chỉ được sử dụng để truy cập đối số thực tế được sử dụng trong lệnh gọi hàm. Nó có nghĩa là những thay đổi được thực hiện trong tham số thay đổi đối số vượt qua.
Trong phương pháp này, phân bổ bộ nhớ giống như các tham số thực tế. Tất cả các hoạt động trong hàm được thực hiện trên giá trị được lưu trữ tại địa chỉ của tham số thực tế và giá trị sửa đổi sẽ được lưu trữ tại cùng một địa chỉ.
C ví dụ mã của một cuộc gọi theo phương thức giá trị
void main[] { int a = 10, void increment[int]; Cout