Mình không hiểu code đang làm gì, mong mọi người giải đáp, mình cảm ơn
typedef struct {
int number;
} Test;
Test* Test_New(Test t,int number) {
t.number = number;
return &t;
}
Mình không hiểu code đang làm gì, mong mọi người giải đáp, mình cảm ơn
typedef struct {
int number;
} Test;
Test* Test_New(Test t,int number) {
t.number = number;
return &t;
}
Tạo 1 struct có tên là Test
Test* Test_New(Test t,int number)
Function trả về con trỏ có kiểu là Test
Sao khái niệm này mình không thấy ở trong ebook nào cả ^^ ?
Chắc bạn tìm chưa hết thôi.
Tìm xem, chắc chắn có
https://www.tutorialspoint.com/cprogramming/c_return_pointer_from_functions.htm
Ý mình là mình k tìm thấy khái niệm hàm trả về biến có kiểu là cấu trúc. Nếu trả về rồi thì biến đó có đặc điểm gì? Nó có giống c++ không?
Chú đinh nghĩ thêm 1 kiểu thì chú sử dụng thôi, chứ có gi đâu.
Thay vì dùng kiểu có sẳn, thì c cho phép định nghĩa thêm kiểu mới. c++ thì chắc cũng có.
struct
về cơ bản cũng là một kiểu dữ liệu (giống int
, …) nhưng do người dùng định nghĩa nên về mặt ý nghĩa không khác gì với các kiểu dữ liệu khác:
Hàm sẽ trả về con trỏ, trỏ tới vùng nhớ chứa kiểu dữ liệu struct Test
.
Đã thông, cảm ơn các bác nhiều
Cái này ko ổn vì t là biến local, lấy pointer về cũng đâu có xài được.
Nói chung là nó ko ảnh hưởng gì đến t cũ (tham trị là vậy).
Em chỉ làm ví dụ cho cái trả kiểu Test về thôi , chứ code này có bug