Cprogramming 简明教程
NULL Pointer in C
Declare and Initialize a NULL Pointer
以下是你申明并初始化一个 NULL 指针的方式 −
type *ptr = NULL;
或者,你也可以使用此语法 −
type *ptr = 0;
Example of a NULL Pointer
以下示例演示了如何申明并初始化一个 NULL 指针 −
#include <stdio.h>
int main() {
int *p= NULL;//initialize the pointer as null.
printf("The value of pointer is %u",p);
return 0;
}
当你运行这段代码时,它将产生以下输出:
The value of pointer is 0.
Applications of NULL Pointer
以下是 NULL 指针的一些应用:
-
在指针变量尚未分配任何有效内存地址时,初始化 pointer 变量。
-
当我们不希望传递任何有效内存地址时,向函数参数传递空指针。
-
在访问任何指针变量前检查空指针,以便我们可以在与指针相关的代码中执行错误处理。例如,仅当指针变量不为 NULL 时取消引用它。
NULL 指针始终用于检测 trees 、 linked lists 和其他动态数据结构的端点。
NULL File Pointer
通常应使用建议方式来检查 fopen() function 返回的 FILE pointer 是否为 NULL,以避免文件相关处理的运行时错误。
Example
以下示例展示了如何使用 NULL 文件指针来确保文件是否可访问 −
#include <stdio.h>
#include <string.h>
int main(){
FILE *fp;
char *s;
int i, a;
float p;
fp = fopen ("file3.txt", "r");
if (fp == NULL){
puts ("Cannot open file"); return 0;
}
while (fscanf(fp, "%d %f %s", &a, &p, s) != EOF)
printf ("Name: %s Age: %d Percent: %f\n", s, a, p);
fclose(fp);
return 0;
}
当还没有为目标变量分配任何有效内存地址的时候,你应该始终将指针变量初始化为 NULL。