C语言 <stddef.h> NULL 宏



  • 描述

    C库宏NULL是空指针常量的值。根据编译器供应商的不同,它可以定义为((void *)0),0或0L。
  • 声明

    以下是NULL宏的声明,具体取决于编译器。
    
    #define NULL ((char *)0)
    
    or
    
    #define NULL 0L
    
    or
    
    #define NULL 0
    
    
    参数
    没有参数。
  • 返回值

    不适用
    示例
    以下示例显示NULL宏的用法-
    
    #include <stddef.h>
    #include <stdio.h>
    
    int main () {
       FILE *fp;
    
       fp = fopen("file.txt", "r");
       if( fp != NULL ) {
          printf("Opend file file.txt successfully\n");
          fclose(fp);
       }
    
       fp = fopen("nofile.txt", "r");
       if( fp == NULL ) {
          printf("Could not open file nofile.txt\n");
       }
       
       return(0);
    }
    
    
    假设我们已有一个文件file.txt,但nofile.txt不存在。让我们编译并运行上面的程序,它将产生以下结果-
    
    Opend file file.txt successfully
    Could not open file nofile.txt