01/10/2018, 08:39

Trả về kiểu con trỏ cho function?

Em không hiểu code này là như thế nào ạ? Tại sao instance của struct lại là 1 function ạ?

Struct1* foo(int parameter1, char parameter2);
明玉 viết 10:49 ngày 01/10/2018

Đây là lệnh khai báo prototype cho function tên là foo, kiểu trả về của nó là pointer đến Struct1 chứ có phải là instance gì đâu?

Tris viết 10:44 ngày 01/10/2018

Vậy instance của structure tạo ra như thế nào ạ? Có phải là struct1 là 1 instance của Struct1?

struct Struct1{
char var1;
char var2;
};
Struct1 struct1; 
明玉 viết 10:40 ngày 01/10/2018

Đúng rồi bạn

Thược Nguyễn viết 10:40 ngày 01/10/2018

mình nghĩ khái niệm instance chỉ tổn tại bên OOP thôi chứ nhỉ, mình hiểu đơn giản là 1 hàm có kiểu trả về là Struct1 thôi

Hung viết 10:55 ngày 01/10/2018

Structural Languages vẫn có khái niệm instance, nhưng phải manual trong việc tạo instance, xoá instance và chọn instance. OOP thì quản lý phần đó hết cho mình.

Chi tiết hơn bạn có thể xem trong Code Complete, chương ADT, phần hiện thực multiple ADT instance cho non-OOP languages.

Bài liên quan
0