Macro offsetof() trong C (chi tiết nhất)
Macro offsetof() trong C
Macro offsetof(type, member-designator) trong Thư viện C chuẩn cho kết quả một hằng số nguyên của kiểu size_t mà là offset (đơn vị byte) của một thành viên cấu trúc từ phần đầu của cấu trúc đó. Thành viên được cung cấp bởi member-designator, và tên của cấu trúc được cung cấp bởi type.
Khai báo Macro offsetof() trong C
Dưới đây là phần khai báo cho offsetof() Macro.
offsetof(type, member-designator)
Tham số
type − Đây là kiểu lớp trong đó member-designator là một mệnh danh hợp lệ.
member-designator − Đây là mệnh danh thành viên của kiểu lớp.
Trả về giá trị
Macro này trả về giá trị của kiểu size_t mà là giá trị offset của thành viên trong kiểu type.
Ví dụ
Chương trình C sau minh họa cách sử dụng của offsetof() Macro.
#include#include struct student { char name[50]; char school[50]; int rollno; }; int main() { printf("name offset = %d byte trong student struct.\n", offsetof(struct student, name)); printf("class offset = %d byte trong student struct.\n", offsetof(struct student, school)); printf("rollno offset = %d byte trong student struct.\n", offsetof(struct student, rollno)); return(0); }
Biên dịch và chạy chương trình C trên sẽ cho kết quả:
Các bài Thư viện C phổ biến khác tại VietJack:
stddef-h-trong-c.jsp
Bài viết liên quan