30/09/2018, 16:08

Khác biệt giữa '.' và '->' khi sử dụng struct?

Em có đoạn code về cây nhị phân,nhưng em không hiểu rõ lắm các lệch -> và dấu . nó có ý nghĩa gì? Em có hỏi bạn em nó bảo là dấu chấm để gọi hàm con,em thấy mơ hồ quá không hiểu hết được. Em biết mấy anh chị bận đi làm nên không có thời gian nhiều,nhưng do em hiểu biết còn ít nên không hiểu chỗ nào em hỏi chỗ đó có khi em hỏi có thể mấy anh/chị không hiểu câu hỏi của em hay cảm thấy nó quá nhàm chán thì cho em xin lỗi nha

void PreOrder(TNode*root)
{
	if(root !=NULL)
	{
		cout<<" "<<root->key;	
		PreOrder(root->pLeft);
		PreOrder(root->pRight); 
	}
}

void InOrder(TNode*root)
{
	if(root !=NULL)
	{
		InOrder(root->pLeft);
		cout<<" "<<root->key;
		InOrder(root->pRight); 
	}
}

void PostOrder(TNode*root)
{
	if(root !=NULL)
	{
		PostOrder(root->pLeft);
		PostOrder(root->pRight); 
		cout<<" "<<root->key;
	}
}
-----------------------------------------------------------------
Về câu hỏi dấu chấm

struct point
{
	int x;
	int y;
};
struct vector
{
	point s;
	point e;
};
void nhapVector(list<vector> &myl){
	ifstream inputfile("listVector.txt"); //mo file de doc
	vector tam;
	while(!inputfile.eof()){
		inputfile>>tam.s.x>>tam.s.y;  // goc vector (s.x, s.y)
		inputfile>>tam.e.x>>tam.e.y;  // ngon vector (e.x, e.y)
		myl.push_back(tam); //them vector vua doc vao cuoi list 
		
	}
	inputfile.close();  //dong file
	myl.unique();
}
Phạm Hoàng Tuấn viết 18:17 ngày 30/09/2018

Dấu . hay dấu -> đều được dùng để truy xuất (gọi) các hàm hay các thuộc tính. Điểm khác nhau ở đây là dấu -> dùng cho con trỏ. Tức là khi con trỏ truy xuất (gọi) hàm/ thuộc tính thì nó dùng dấu -> thay vì dấu . như bình thường không phải con trỏ. Lần sau e post code, nên để ý định dạng code 1 chút nhé. lần này a sửa lại định dạng cho e rồi.

Định nghĩa Có thể hiểu Markdown là cú pháp định dạng văn bản bằng ký tự Markdown is a plain text formatting syntax Xem ví dụ của markdown [image] Diễn đàn của chúng ta cũng sử dụng Markdown Lợi ích của Markdown là gì? phần này còn thiếu, cần được bổ sung. Bài này đã được kích hoạt Wiki Post Cheatsheet Markdown Cheatsheet

Nếu cần hiểu thêm e xem các video về con trỏ trong danh sách video dưới đây:

Nguyễn Minh Dũng viết 18:22 ngày 30/09/2018

Thêm một ví dụ cụ thể như thế này cho dễ nắm:

struct Point
{
	int x;
	int y;
};

int main()
{
    Point p;
    p.x = 1; // dùng dấu chấm vì đây là kiểu struct bình thường
    
    Point * contro_p;
    contro_p->x = 1; // dùng dấu trỏ -> vì đây là con trỏ
}

P/S: Em lập topic khá ổn rồi. Tuy nhiên, Thành có thể xem thêm cách đặt tiêu đề và nội dung thông qua hai tác phẩm văn học hiện thực phê phán anh chém gió ở đây nhé.

Le Tran Dat – 13 Nov 14

Người mới học lập trình cần biết – Phần 1 – Học lập trình thông qua hỏi đáp

Là một lập trình viên chuyên nghiệp Đạt tích lũy được kinh nghiệm lập trình thông qua nhiều năm tự học và làm việc. Quá trình tự học đó kéo dài, nhưng chung quy lại việc học lập trình bao gồm các q…

Le Tran Dat – 13 Nov 14

Người mới học lập trình cần biết – Phần 2 – Học lập trình thông qua thảo luận

Là một lập trình viên chuyên nghiệp Đạt tích lũy được kinh nghiệm lập trình thông qua nhiều năm tự học và làm việc. Quá trình tự học đó kéo dài, nhưng chung quy lại việc học lập trình bao gồm các q…

Khoa Thành viết 18:13 ngày 30/09/2018

cảm ơn anh Đạt và anh Tuấn,em sẽ rút kinh nghiệm cho những lần sao

Bài liên quan
0