C语言 库宏 NULL

C语言 标准库 <stddef.h>C语言 标准库 <stddef.h>

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语言 标准库 <stddef.h>C语言 标准库 <stddef.h>

C语言 库宏 offsetof():C 库宏 offsetof(type, member-designator) 会生成一个类型为 size_t 的整型常量,它是一个结构成员相对于结构开头的字节偏移量。成员是由 member-designator 给定的,结构的名称是在 type 中给定的。