void *类型的函数返回的是什么东西?

来源:百度知道 编辑:UC知道 时间:2024/05/22 12:22:16
void本身就是说返回空置嘛?那指向空置的指针吗?什么意思啊

void表示无或空的意思,函数返回void *表示返回一个无类型的指针,该指针可以通过强制转换成任意类型的指针。
  比如
  void* pVoid = f();
  int* pInt = (int*)pVoid;

  一般申请内存的函数返回的都是void*类型,比如malloc。

void是返回空值么? 我记得应该是表示没有的意思吧?
规则一 如果函数没有返回值,那么应声明为void类型
规则二 如果函数无参数,那么应声明其参数为void
规则三 小心使用void指针类型

按照ANSI(American National Standards Institute)标准,不能对void指针进行算法操作,即下列操作都是不合法的:

void * pvoid;

void++; //ANSI:错误

void += 1; //ANSI:错误

//ANSI标准之所以这样认定,是因为它坚持:进行算法操作的指针必须是确定知道其指向数据类型大小的。
规则四 如果函数的参数可以是任意类型指针,那么应声明其参数为void *

规则五 void不能代表一个真实的变量

void *也是一个指针,只是他的类型不确定
void *fun1(void *p)
{
//...
return p;
}

void *fun2()
{
char *p=malloc(...);
//...
return (void *)p;
}

首先,void不是表示空值,null才是空值;
其次,void* 表示任意类型指针,或者说未定义类型的指针。

比如我们定义
void *p;
int *i;
那么可以直接进行如下赋值:
p=(int*) i;

void *p;

就是一个可以指向们任意内存的指针。

void *类型的函数返回的是什么东西? 构造函数用于创建类的实例对象,构造函数名应与类名相同,返回类型为void. void 类型的函数怎么调用呢? [C语言]为什么swap函数返回的是char类型? LRESULT类型函数的返回值 C语言中的void exit(int status)函数为void类型,可是,它又要把status返回父进程,这不是自相矛盾吗? VFP中的DTOC()函数返回值的类型是什么? c语言中有且仅有一个主函数,该主函数名前的”void”,表示无返回植.无返回植是什么意思. vc中void类型的函数代表什么含义?哪位兄弟解释一下,详细一点。谢谢! 一类函数,调用后并不需要向调用者返回函数值, 这种函数可以定义为“空类型”。其类型说明符为void