它是C语言关于纯粹地址的一种约定。当某个指针是void型指针时,所指向的对象不属于任何类型。 1、void *表示一个“不知道类型”的指针,也就不知道从这个指针地址开始多少字节为一个数据。和用int表示指针异曲同工,只是更明确是“指针”。 因此void*只能表示一个地址,不能用来&取值,也不能移动指针,因为不知道多...
void 是C 语言中的一种特殊类型,表示“无类型”或“无返回值”。void 具有多种用途,其语义在不同上下文中会有所变化。以下列举了 void 的三种典型用法: 1.1 用作函数的返回类型 当void 作为一个函数的返回类型时,表示该函数不返回任何值。例如,常见的 void 类型函数如下所示: void printMessage() { printf(...
如下图所示:void*变量指向的地址和复制变量的地址一致,说明voi*指针指向了特定的内存单元。 但是,void*可以指向任何类型的指针,但是其他类型的指针却不可以指向void*类型,如下:这是因为类型不一致,int*不能转换成void*类型,其他的也一样(char*,int*等类型都不能相互转换,要转换的话必须进行强制类型的转换) 1 2...
1、C语言里有void指针,可以指向任何类型,在使用前需要强制转化类型。 #include <bits/stdc++.h>usingnamespacestd;constintmaxn =500+10;voidfun(void*a) { printf("%.2lf\n",*(double*)a); }intmain(){doublea=1.21; fun(&a);return0; ...
在程序中,每一个变量都应该有相应的数据类型,数据的类型决定了编译器可以为之开辟多少的空间来存放数据。 例如:int 类型需要 4 个字节,char 类型需要 1 个字节,指针类型需要 4 个字节等等。 但C 语言中还有一种特殊的数据类型——void。 1. void 介绍 ...
例如:int 类型需要 4 个字节,char 类型需要 1 个字节,指针类型需要 4 个字节(32位系统下,64位需要 8 个字节)等等。但 C 语言中还有一种特殊的数据类型——void。1. void 介绍 void 表示为“无”、“空”、“没有”的意思。在这里就把 void 理解为啥也不是。作为一个数据类型,如果用 void 声明...
1、C语言里有void指针,可以指向任何类型,在使用前需要强制转化类型。 #include <bits/stdc++.h>usingnamespacestd;constintmaxn =500+10;voidfun(void*a) { printf("%.2lf\n",*(double*)a); }intmain(){doublea=1.21; fun(&a);return0; ...
1. 能否定义 void* 类型的指针? 任何平台、任何编译器,都是可以定义 void* 类型的指针变量的。 使用sizeof 计算 void* 的大小: 可以发现 void* 的大小和其他类型指针变量的大小一样,都是4个字节。 2. 2. void* 类型指针的使用场景 void* 类型的地址可以被其他任何类型的指针变量接收(需要强制类型转) ...
C语言程序中,若函数无返回值,则应该对函数说明的类型是void。如果函数所体现的计算不需要返回结果,则数据类型可以指定为void类型。注意,这种情况下在主调函数中调用该函数,该函数调用表达式不能被用作子表达式给其他变量赋值。void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向...