C语言 库宏 NULL
C 库宏 NULL 是一个空指针常量的值。它可以被定义为 ((void*)0), 0 或 0L,这取决于编译器供应商。
1. 声明
下面是取决于编译器的 NULL 宏的声明。
#define NULL ((char *)0) 或 #define NULL 0L 或 #define NULL 0
2. 参数
- NA
3. 返回值
- NA
4. 实例
下面的实例演示了 NULL 宏的用法。
#include <stddef.h> #include <stdio.h> int main () { FILE *fp; fp = fopen("file.txt", "r"); if( fp != NULL ) { printf("成功打开文件 file.txt\n"); fclose(fp); } fp = fopen("nofile.txt", "r"); if( fp == NULL ) { printf("不能打开文件 nofile.txt\n"); } return(0); }
假设文件 file.txt 已存在,但是 nofile.txt 不存在。让我们编译并运行上面的程序,这将产生以下结果:
成功打开文件 file.txt 不能打开文件 nofile.txt
C语言 库宏 offsetof():C 库宏 offsetof(type, member-designator) 会生成一个类型为 size_t 的整型常量,它是一个结构成员相对于结构开头的字节偏移量。成员是由 member-designator 给定的,结构的名称是在 type 中给定的。