Gọi hàm có tham số là con trỏ trong hàm trả về kiểu cấu trúc

Vấn đề như title
CODE: (tượng trưng cho vấn đề, không có ý nghĩa tính toán)

#include <stdio.h>

struct number
{
	int unit;
};

void input(number *unitT)
{
	scanf("%d",&unitT->unit);
}
void x2number(number *unitT)
{
	unitT->unit*=2;
}
number x4number(number unitT)
{
	x2number(&unitT);
	number temp=unitT;
	temp.unit=2*temp.unit;
	return temp;
}
int main()
{
	number *unitA=NULL;
	unitA=(number*)malloc(sizeof(number));
	//input(*unitA);
	unitA->unit=1;
	number* unitT=NULL;
	unitT=(number*)malloc(sizeof(number));
	*unitT=x4number(*unitA);
	printf("%d",unitT->unit);
	free(unitA);
	free(unitT);
	return 0;
}

giá trị của UnitT không đổi khi gọi hàm x2number trong hàm x4number.
xin các pro xem qua ạ!

Mình nghĩ code trên vẫn ra 4. Không biết unitT bạn đang nói ở dòng nào

Mình thấy nó vẫn thay đổi mà nhỉ?

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?