stddef.h trong C
Header file có tên stddef.h trong Thư viện C chuẩn định nghĩa các kiểu biến và macro đa dạng. Nhiều định nghĩa này cũng có mặt trong các header khác.
Các biến được định nghĩa trong stddef.h
Dưới đây liệt kê một số kiểu biến được định nghĩa trong stddef.h trong Thư viện C:
| Biến | Mô tả |
|---|---|
| ptrdiff_t | Đây là kiểu nguyên có dấu và là kết quả của phép trừ hai con trỏ |
| size_t | Đây là kiểu nguyên không dấu và là kết quả của từ khóa sizeof |
| wchar_t | Đây là một kiểu nguyên, là kích cỡ của một hằng ký tự rộng (wide char) |
Các macro được định nghĩa trong stddef.h
Bảng dưới liệt kê một số Macro được định nghĩa trong stddef.h trong Thư viện C:
| Macro | Mô tả |
|---|---|
| NULL | Macro này là giá trị của một hằng con trỏ null |
| offsetof(type, member-designator) | Các kết quả này trong 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 tham số member-designator, và tên của cấu trúc được cung cấp bởi type |
1. Macro NULL() trong C
Macro NULL trong Thư viện C là giá trị của một hằng con trỏ null. Nó có thể được định nghĩa như là ((void*)0), 0 hoặc 0L tùy thuộc vào Compiler.
Khai báo Macro NULL() trong C
Sau đây có thể là khai báo cho NULL Macro tùy thuộc vào compiler.
#define NULL ((char *)0) hoặc #define NULL 0L hoặc #define NULL 0
Tham số
Macro này không nhận bất kỳ tham số nào
Trả về giá trị
Macro này không trả về bất kỳ giá trị nào
Ví dụ
Chương trình C sau minh họa cách sử dụng của NULL Macro.
#include <stddef.h> #include <stdio.h> int main () { FILE *fp; fp = fopen("nofile.txt", "r"); if( fp == NULL ) { printf("Khong the mo nofile.txt !!!\n"); } return(0); }
Giả sử chúng ta muốn mở một nofile.txt không tồn tại thì khi biên dịch và chạy chương trình C trên sẽ cho kết quả:

2. 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 <stddef.h> #include <stdio.h> 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ả:
![]()
Theo Tutorialspoint
Bài trước: stdarg.h trong C
Bài tiếp: stdio.h trong C
Bạn nên đọc
Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:
Cũ vẫn chất
-

Những stt cảm động viết cho người yêu cũ
2 ngày 1 -

Cách chỉnh nút CS 1.1, sửa nút Half Life
3 ngày -

Code Skibidi Tower Defense mới nhất và cách đổi code lấy thưởng
2 ngày -

Cách khôi phục bài viết đã ẩn trên Facebook bằng điện thoại, máy tính
2 ngày 1 -

Chào tháng 6: Câu nói hay nhất về tháng 6, stt tháng 6 tràn ngập yêu thương
2 ngày 2 -

Cách bật, tắt chế độ tạm thời trên Instagram tự xóa tin nhắn
2 ngày -

Top 10+ trang web tốt nhất để tải phụ đề cho phim
2 ngày -

Cách quay video màn hình trên máy Mac
2 ngày -

Hướng dẫn đổi ID Facebook, thay địa chỉ Facebook mới
2 ngày -

Giải mã bí ẩn đằng sau thủ thuật "lộn chai nước" đang gây "bão" trên thế giới
2 ngày
Học IT
Công nghệ
Microsoft Word 2013
Microsoft Word 2007
Microsoft Excel 2019
Microsoft Excel 2016
Microsoft PowerPoint 2019
Google Sheets
Lập trình Scratch
Bootstrap
Prompt
Ô tô, Xe máy