Gọi hàm bằng tham trị: gọi hàm bằng truyền giá trị, là khái niệm trong lập trình, trong đó chương trình sẽ tạo ra giá trị bản sao của biến, sau đó gửi bản copy đó cho hàm được gọi. Lúc này giá trị copy của biến được truyền đi. Do vậy mọi thay đổi nếu có trong hàm được gọi sẽ không làm thay đổi giá trị của biến gốc trước khi truyền đi .
Ví dụ:
Void swap(int a, int b){
Int tmp = a;//luu gia tri của a
a=b;// gán giá trị của b cho a
b = tmp;// gán giá trị ban đầu của a cho b
} //khi kết thúc hàm, giá trị của a,b còn như cũ.
Gọi hàm truyèn bằng tham trị : trong các trường hợp không có nhu cầu thay đổi giá trị của biến truyền đi.
Gọi hàm bằng tham chiếu:gọi hàm bằng truyền tham chiếu, là khái quát trong lập trình, trong đó chương trình sẽ truyền thẳng địa chỉ của biến hiện tại vào làm đối số của hàm được gọi. Do đó, mọi thay đổi nếu có với các biến trong hàm được gọi sẽ làm thay đổi giá trị gốc của biến đã truyền đi.
Void swap(int *a, int *b){
Int tmp = *a;//luu gia tri chứa trong con trỏ a
*a=*b;// gán giá trị chứa trong con trỏ b cho a
b = tmp;// gán giá trị ban đầu chua trong con tro a cho con tro b
} //khi kết thúc hàm, giá trị của a,b có thể bị thay đổi.
Gọi hàm truyền bằng tham chiếu khi muốn cho phép hàm được gọi thay đổi giá trị của biến0 truyền vào.