Thắc mắc tác dụng của typedef

Mọi người cho mình hỏi chút:
mình không hiểu typedef để làm gì. Cách làm như mình ở đây thì có sai không:

struct PhanSo
{
	int tu, mau;
};

void TaoMang(PhanSo a[], int &n)
{
	cout << "Nhap n:";
	cin >> n;
	srand(time(NULL));
	for (int i = 0; i < n; i++)
	{
		a[i].tu = rand() % 199 + (-99);
		a[i].mau = rand() % 99 + 1;
	}
}

Code của bạn có liên quan gì tới typedef đâu :confused:

typedef dùng để tạo tên mới cho một kiểu dữ liệu nào đó nhằm thuận tiện trong việc code.
Ví dụ:

typedef char* STRING;

thì khi khai báo:

STRING p;

thì đồng nghĩa với p có kiểu dữ liệu là char*.
Đoạn code của bạn là đúng vì bạn đang code C++. Trong C bạn sẽ thấy dùng typedef nhiều hơn, nếu bạn code C, mỗi khi muốn dùng struct PhanSo làm kiểu dữ liệu cho một biến nào thì phải thêm từ khoá struct trước PhanSo hoặc là dùng typedef.
Ví dụ:

struct PhanSo a;

hoặc:

typedef struct PhanSo PhanSo;
PhanSo a;
5 Likes

vậy giả dụ mình cần 1 mảng integer thì theo typedef mình nên làm ntn?

Giả sử bạn muốn typedef mảng int N phần tử:

typedef int array[N];
3 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?