Hướng dẫn what is difference between call by value and call by reference in php? - sự khác biệt giữa call by value và call by reference trong php là gì?

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 cuộc gọi theo phương thức giá trị Giá trị ban đầu không được sửa đổi, trong khi trong phương thức gọi theo phương thức tham chiếu, giá trị ban đầu được sửa đổi.
  • Trong cuộc gọi theo giá trị, một bản sao của biến được truyền, trong khi trong cuộc gọi theo tham chiếu, một biến được truyền.
  • Trong cuộc gọi theo giá trị, các đối số thực tế và chính thức sẽ được tạo ở các vị trí bộ nhớ khác nhau, trong khi trong cuộc gọi bằng tham chiếu, các đối số thực tế và chính thức sẽ được tạo ở cùng một vị trí bộ nhớ.
  • Gọi theo giá trị là phương thức mặc định trong các ngôn ngữ lập trình như C ++, PHP, Visual Basic Net và C#, trong khi cuộc gọi bằng tham chiếu chỉ được hỗ trợ trong ngôn ngữ Java.
  • Cuộc gọi theo các biến giá trị được truyền bằng phương thức đơn giản, trong khi cuộc gọi bằng các con trỏ tham chiếu được yêu cầu để lưu trữ địa chỉ của các biến.

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 

Bài Viết Liên Quan

Chủ Đề