01/10/2018, 01:13
[Thắc mắc] Định dạng hàm theo cấu trúc?
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;
} ``
Bài liên quan
Tạo 1 struct có tên là Test
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ốngint
, …) 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