Tham trị đơn giản là chỉ gán giá trị của biến vào tham số hàm . Như vậy tham số trong hàm thay đổi nhưng biến cũng chẳng ảnh hưởng.
VD như kiểu gán 2 biến này:
int a = 5;
int b = a;
b++;
printf(“a = %d”,a); // a vẫn là 5
Tham chiếu thì ko phải gán giá trị của biến vào tham số của hàm. Mà tham số sẽ chạy đến nằm cùng địa chỉ với biến . Như vậy tham số sẽ cùng địa chỉ với biến được truyền. Như vậy tham số bây giờ cũng có thể coi là biến được truyền với định danh khác. Mọi thay đổi trong tham số sẽ làm ảnh hưởng trực tiếp đến biến bên ngoài.
VD như kiểu gán 2 biến này:
int a = 5;
int &b = a;
b++;
printf(a = %d",a); // a = b = 6;