指针函数return null
时间: 2024-06-13 15:07:55 浏览: 11
指针函数可以返回空指针,即NULL。在C++中,NULL实际上是一个宏定义,等价于0。因此,return NULL; 和 return 0; 是等价的。但是需要注意的是,在C++11之后,建议使用nullptr代替NULL。
示例代码如下:
```cpp
#include <iostream>
using namespace std;
int* getPtr() {
return NULL;
}
int main() {
int* ptr = getPtr();
if (ptr == NULL) {
cout << "Pointer is NULL." << endl;
}
return 0;
}
```
相关问题
函数指针如何赋null
函数指针可以通过赋值为NULL来表示空指针。下面是一个示例代码:
```c
#include <stdio.h>
void func() {
printf("Hello, World!");
}
int main() {
void (*ptr)() = NULL; // 声明一个函数指针并赋值为NULL
if (ptr == NULL) {
printf("The function pointer is NULL.");
} else {
ptr(); // 调用函数指针
}
return 0;
}
```
在上面的代码中,我们声明了一个函数指针`ptr`并将其赋值为NULL。然后我们检查`ptr`是否为NULL,如果是则输出一条消息,否则调用函数指针。由于`ptr`被赋值为NULL,所以在这个例子中,程序将输出"The function pointer is NULL."。
函数指针和指针函数
函数指针和指针函数是两个不同的概念。
函数指针是指指向函数的指针变量,它可以存储函数的地址,从而使得可以通过该指针变量调用该函数。简单来说,函数指针就是一个指向函数的指针,可以像调用函数一样使用它。
指针函数是指返回指针类型的函数,它的返回值是一个指针类型的值。简单来说,指针函数就是一个返回指针类型的函数,可以返回一个指针。
下面是一个函数指针和指针函数的示例代码:
```c
#include <stdio.h>
int add(int a, int b) {
return a + b;
}
int (*func_ptr)(int, int); // 声明一个函数指针变量
int* func() { // 声明一个指针函数
int* p = NULL;
p = (int*)malloc(sizeof(int));
*p = 10;
return p;
}
int main() {
func_ptr = add; // 将函数 add 的地址赋值给函数指针变量
int sum = func_ptr(1, 2); // 通过函数指针变量调用函数 add
printf("sum = %d\n", sum);
int* p = NULL;
p = func(); // 调用指针函数
printf("*p = %d\n", *p);
free(p);
return 0;
}
```