用C语言判断 指针是否为空
时间: 2024-12-11 11:12:05 浏览: 8
在C语言中,你可以通过检查指针是否为NULL来判断它是否为空。NULL是一个预定义的宏,通常表示地址0,非空指针会指向某个内存位置,而空指针则表示未分配或无效的内存引用。下面是一个简单的示例:
```c
#include <stdio.h>
#include <stdbool.h>
bool isPointerNull(void* ptr) {
return (ptr == NULL);
}
int main() {
int *nonEmptyPtr = malloc(sizeof(int)); // 分配内存
if (isPointerNull(nonEmptyPtr)) {
printf("Non-empty pointer is null.\n");
} else {
printf("Non-empty pointer is not null.\n");
}
free(nonEmptyPtr); // 别忘了释放内存
return 0;
}
```
在这个例子中,`isPointerNull` 函数接受一个 void 类型的指针,并返回 true 如果它为空,false 否则。
相关问题
C语言 判定指针是否为空
在C语言中,我们可以通过判断指针是否为NULL来判定指针是否为空,NULL是一个预定义的指针常量,其值为0。例如:
```
int* ptr = NULL; // 指针初始化为NULL
if(ptr == NULL) {
printf("指针为空。\n");
} else {
printf("指针不为空。\n");
}
```
在上面的代码中,如果指针ptr没有被赋值或者被赋值为NULL,则输出“指针为空”。
用C语言判断文件是否为空
以下是用C语言判断文件是否为空的示例代码:
```c
#include <stdio.h>
int main() {
FILE *file;
long size;
// 打开文件
file = fopen("example.txt", "rb");
// 移动到文件末尾
fseek(file, 0, SEEK_END);
// 获取文件大小
size = ftell(file);
// 判断文件是否为空
if (size == 0) {
printf("文件为空\n");
} else {
printf("文件大小为 %ld 字节\n", size);
}
// 关闭文件
fclose(file);
return 0;
}
```
该程序首先打开名为"example.txt"的文件,然后使用fseek函数将文件指针移动到文件末尾,使用ftell函数获取文件大小。最后,根据文件大小判断文件是否为空。如果文件大小为0,则说明文件为空。否则,输出文件大小。最后关闭文件。
阅读全文