Pab*_*ruz 13
在Ç,有void,void指针和NULL指针.
void是不存在的类型.IE返回一个void类型的函数是一个什么都不返回的函数.void pointer:是一个指向内存位置的指针,其类型可以是任何类型:结构,int,浮点数,您可以命名它.NULL指针的指针位置0x00,就是没有位置.什么也没说.例子:
void 功能:
void printHello()
{
printf("Hello");
}
Run Code Online (Sandbox Code Playgroud)
void 指针:
void *malloc(size_t si)
{
// malloc is a function that could return a pointer to anything
}
Run Code Online (Sandbox Code Playgroud)
NULL 指针:
char *s = NULL;
// s pointer points to nowhere (nothing)
Run Code Online (Sandbox Code Playgroud)
void是一种数据类型.void*只是指向未定义类型的指针.A void*可以设置为任何内存位置.NULL指针是任何设置为NULL(0)的指针.
所以是的,它们是不同的,因为void指针是一种数据类型,而NULL指针指的是任何设置为NULL的指针.
指向void的指针是指向未指定类型的指针.IE浏览器.只是一个指针.它仍然可以是一个有效的指针,但我们不知道它指向的是什么(例如,一个函数可能将一个void指针作为参数,然后根据不同的参数解释该类型)
NULL是一个'空'指针.无效,可用于指定指向无/未设置的指针.它是一个值,而void是一种类型.