có bạn nào khi nào mình dùng * và & trong C nói cho rõ nha mình mất kiến thức nặng lém rùi cho ví dụ càng tốt ^__^
4 posters
help me !! ( mất kiến thức mẫu giáo ^__^ )
SadPrince- New Member
- Bài gửi : 7
Tổng Điểm : 15
Điểm Thưởng : 0
Bị Dụ Dỗ : 11/09/2009
ltv2009- Top Poster
- Giới tính : Bài gửi : 198
Tổng Điểm : 450
Điểm Thưởng : 5
Sinh Nhật : 17/10/1990 Bị Dụ Dỗ : 10/10/2009
Tuổi : 34
Khi bạn dùng *x nghĩa là bạn đang sử dụng con trỏ, lúc đó trình biên dịch hiểu là ta truyền đến hàm địa chỉ đối tượng mà con trỏ trỏ đến. Và khi đó hàm có thể truya cập một cách gián tiếp giá trị đến đối tượng.
Khi bạn dùng &x nghĩa là bạn đang sử dụng tham chiếu. lúc này biến được truyền trực tiếp cho hàm sử dụng chứ không phải cho địa chỉ của biến, điều này làm cho việc lập trình dễ chịu hơn, và vẫn mang đầy đủ sức mạnh của con trỏ, vì vậy nếu sử dụng con trỏ người ta thường sử dụng tham chiếu hơn là con trỏ
Khi bạn dùng &x nghĩa là bạn đang sử dụng tham chiếu. lúc này biến được truyền trực tiếp cho hàm sử dụng chứ không phải cho địa chỉ của biến, điều này làm cho việc lập trình dễ chịu hơn, và vẫn mang đầy đủ sức mạnh của con trỏ, vì vậy nếu sử dụng con trỏ người ta thường sử dụng tham chiếu hơn là con trỏ
- Code:
#include "iostream.h"
void HoanVi(int *x,int *y);
main()
{
int x = 5, y = 7;
cout<<"Truoc khi hoan vi, x = "<<x<<", y = "<<y<<endl;
HoanVi(&x,&y);
cout<<"Sau khi hoan vi, x = "<<x<<", y = "<<y<<endl;
}
void HoanVi(int *x,int *y)
{
int tam;
cout<<"Trong than ham hoan vi, *x = "<<*x<<", *y = "<<*y<<endl;
tam = *x;
*x = *y;
*y = tam;
cout<<"Trong than ham hoan vi sau khi hoan vi *x= "<<*x<<", *y = "<<*y<<endl;
}
- Code:
#include "iostream.h"
void HoanVi(int &x,int &y);
main()
{
int x = 5, y = 7;
cout<<"Truoc khi hoan vi, x = "<<x<<", y = "<<y<<endl;
HoanVi(x,y);
cout<<"Sau khi hoan vi, x = "<<x<<", y = "<<y<<endl;
}
void HoanVi(int &x,int &y)
{
int tam;
cout<<"Trong than ham hoan vi, x = "<<x<<", y = "<<y<<endl;
tam = x;
x = y;
y = tam;
cout<<"Trong than ham hoan vi sau khi hoan vi x= "<<x<<", y = "<<y<<endl;
}
Vy Thanh Định- Web Master
- Giới tính : Bài gửi : 228
Tổng Điểm : 544
Điểm Thưởng : 16
Sinh Nhật : 19/05/1990 Bị Dụ Dỗ : 11/09/2009
Tuổi : 34
Phần này ltv2009 nói rất đúng, mọi người chú ý nhé !
ltv2009- Top Poster
- Giới tính : Bài gửi : 198
Tổng Điểm : 450
Điểm Thưởng : 5
Sinh Nhật : 17/10/1990 Bị Dụ Dỗ : 10/10/2009
Tuổi : 34
hé hé, cái này lấy trong giáo trình C++ ra mà sao sai đc, chỉ là vì có bí kíp hay thui, mọi người cùng giúp đỡ nhau mà, ráng lên
kocogi- Member
- Giới tính : Bài gửi : 22
Tổng Điểm : 24
Điểm Thưởng : 0
Sinh Nhật : 18/03/1990 Bị Dụ Dỗ : 26/11/2009
Tuổi : 34
thầy dạy * là dành cho C pro xài.
& là reference dành cho mấy em C++ đời sau.
& là reference dành cho mấy em C++ đời sau.