Bài 31. Truyền tham chiếu và truyền tham trị trong lập trình C | Hàm hoán đổi giá trị swap



PHÂN BIỆT TRUYỀN THAM CHIẾUTRUYỀN THAM TRỊ


TRUYỀN THAM CHIẾU là truyền địa chỉ ô nhớ của biến, do đó khi thay đổi giá trị của biến bên trong phương thức thì giá trị của biến cũng bị thay đổi bên ngoài phương thức.

Ghi nhớ → GIÁ TRỊ BIẾN SẼ BỊ THAY ĐỔI BÊN NGOÀI HÀM (KHI KẾT THÚC)

------------

TRUYỀN THAM TRỊ là truyền giá trị của biến (không phải là địa chỉ ô nhớ), khi đó phương thức sẽ tự động tạo ra một địa chỉ ô nhớ mới để lưu trữ giá trị này, do đó nó chỉ được thay đổi trong phương thức hiện hành và giá trị của biến không bị thay đổi bên ngoài phương thức hiện hành.

Ghi nhớ → GIÁ TRỊ BIẾN KHÔNG BỊ THAY ĐỔI  BÊN NGOÀI HÀM  (KHI KẾT THÚC)

------------

Ví dụ: Viết chương trình nhập vào hai số nguyên a,b. Sau đó viết hàm hoán đổi giá trị giữa hai biến a,b và xuất kết quả ra màn hình.

Video giải thích chi tiết về Truyền tham chiếu và truyền tham trị trong lập trình C



Code ví dụ


#include "stdio.h"

void swap_thamtri(int a, int b){
	int tam = a;
	a = b;
	b = tam;
}

void swap_thamchieu(int &a, int &b){
	int tam = a;
	a = b;
	b = tam;
}


int main(){
	int a, b;
	printf("Nhap vao 2 so a, b: ");
	scanf("%d%d", &a, &b);
	
	printf("\nGia tri ban dau: a=%d va b=%d", a, b);
	swap_thamtri(a, b);
	printf("\nHoan doi - truyen tham tri: a=%d va b=%d", a, b);
	swap_thamchieu(a, b);
	printf("\nHoan doi - truyen tham chieu: a=%d va b=%d", a, b);
}


    

Bạn có thể thích những bài đăng này:

2 nhận xét: