Tham chiếu trong con trỏ

void test(BTNode *root)
{
	(root->n)++;
}

void main()
{
	BTree c;
	c.Root=NULL;
	if(c.Root==NULL)
		c.Root=CreateBTNode(5);
	test(c.Root);
	printf("%d",c.Root->n);
	printf("\n%d",c.Root->Info[0]);
	getch();
}
n=2 sau khi vào hàm test là 2 ra khỏi hàm test thì n=3 ? 

mình ko truyền tham chiếu vào hàm test nhưng ra khỏi hàm thì giá trị vẫn bị thay đổi tại sao thể nhỉ ?

Bạn hiểu dấu * và dấu & như thế nào?

giá trị của địa chỉ mà con trỏ đang chứa cái địa chỉ đó / giá trị của con trỏ -> (con trỏ chứa địa chỉ đó)

Viết lại như thế này có giúp bạn hiểu vấn đề hơn không?

void test(BTNode* root)//BTNode* là một kiểu dữ liệu
{
	(root->n)++;
}
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?