Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# void数据类型和void指针的实际用途是什么?_C#_C_Void_Void Pointers - Fatal编程技术网

C# void数据类型和void指针的实际用途是什么?

C# void数据类型和void指针的实际用途是什么?,c#,c,void,void-pointers,C#,C,Void,Void Pointers,Void变量与此无关,而且Void指针只能通过强制转换指向。 所以,当我们实际上不知道要指向的数据类型和位置时,使用void指针。但是什么是void变量呢 有实际的例子吗?当我们不知道确切的数据类型时,void指针对于内存分配非常有用。试着写你自己的malloc来获得空虚感* 或者读 在C中,void不能被视为数据类型,它是一个关键字,用作占位符来代替数据类型,以表明实际上没有数据 例如考虑函数空隙f(空隙);。这里,关键字void用于表示没有任何传递的参数和返回的值 但void*ptr的含义不

Void变量与此无关,而且Void指针只能通过强制转换指向。 所以,当我们实际上不知道要指向的数据类型和位置时,使用void指针。但是什么是void变量呢


有实际的例子吗?

当我们不知道确切的数据类型时,void指针对于内存分配非常有用。试着写你自己的malloc来获得空虚感*

或者读

在C
中,void
不能被视为数据类型,它是一个关键字,用作占位符来代替数据类型,以表明实际上没有数据

例如考虑函数<代码>空隙f(空隙);<代码>。这里,关键字void用于表示没有任何传递的参数和返回的值

void*ptr的含义不同


这声明了一个指针,但没有指定它所指向的数据类型。

正如marko Topolnik在其注释中所述,没有
void
变量

Void
指针在C/C++中用于指向未指定的对象。关键字还用于(在C#和其他语言中)标记不返回值的方法。所以我想你在想:

void method();

正在返回类型为
void
,但它不是。它不会返回任何内容。

它们在通用接口中很有用,比如经典的
qsort

void
 qsort(void *base, size_t nel, size_t width,
     int (*compar)(const void *, const void *));


void
返回类型将其标识为过程而不是函数,因为它根本不返回任何类型的数据。
void*
s可以指向任何东西,但是
compar
函数必须适当地强制转换它们才能使用它们。

没有void变量,但有void指针。 正如其他人提到的,我想提醒您在使用void指针之前键入cast

float generic_add(void *n1, void *n2){
    return *((int *) n1) + *((float *) n2);
}

你的意思是
void v?这在任何语言中都是不存在的。我认为它与
C
比C更相关#