void*指针是什么意思?
void型指针,表示这个指针指向的内存中的数据的类型要由用户来指定。比如内存分配函数malloc函数返回的指针就是void *型,用户在使用这个指针的时候,要进行强制类型转换,也就是显式说明该指针指向的内存中是存放的什么类型的数据(int *)malloc(1024)表示强制规定malloc返回的void*指针指向的内存中存放的是一个个的int型数据。
延伸阅读
void如何使用?
void 意思就是“无类型”,而void *表示“无类型指针”,可以指向任何类型的数据。主要用途是对函数返回的限定:
修饰函数时,表示函数无返回值。
修饰指针函数,表示函数返回的是void型的指针。
注意这里特别注意:当指针函数返回指针类型时,该指针指向的地址不能为”局部地址”。否则会在返回后立马释放掉,返回值会出错。
void类型指针和整型指针可以相互赋值?
在使用void指针,要将其强制转换为具体的指针类型,详解使用方式如下。 (说白了就是地址,32位机子中任何一个指针的长度都是4个字节,因为逻辑地址就占用4字节)
1.C中对指针类型的转换要求很低。但是这将留下一个很大的漏洞
2.C++中对类型要求很高,不允许不同类型指针之间的相互赋值,void指针例外(任何类型指针都可以赋值给void指针,但反之则不行)
c++中void用法?
void类型一般是由两方面的用法:
放在函数名前面,表示此函数无返回值;若是放置在函数后的小括号内,表示该函数没有传入值。 如int main(void){}。
作为指针类型void* 。 表示其为暂时未知的指针类型。 如malloc()动态分配空间函数的返回值就为void类型;一般是经过强制类型转换转换成需要的指针类型。 若是void类型放在函数的形参位置,则表示其可以接受任何指针类型。
void编程啥意思?
意思是“无类型”。常用在程序编写中对定义函数的参数类型、返回值、函数中指针类型进行声明。
void 的作用:对函数返回的限定,这种情况我们比较常见。对函数参数的限定,这种情况也是比较常见的。
一般常见的就是这两种情况:
1、当函数不需要返回值值时,必须使用void限定,这就是我们所说的第一种情况。例如:void func(int a,char *b)。
2、当函数不允许接受参数时,必须使用void限定,这就是我们所说的第二种情况。例如:int func(void)。
扩展资料:
void 指针的使用规则:
1、void 指针可以指向任意类型的数据,就是说可以用任意类型的指针对 void 指针对 void 指针赋值。例如:int *a;void *p;p=a;
2、在 ANSI C 标准中,不允许对 void 指针进行一些算术运算如 p++ 或 p+=1 等,因为既然 void 是无类型,那么每次算术运算我们就不知道该操作几个字节,例如 char 型操作 sizeof(char) 字节,而 int 则要操作 sizeof(int) 字节。
void*是什么类型的指针?
void的字面意思是”无类型”,void*则为”无类型指针”,void*可以指向任何类型的数据。
void几乎只有”注释”和限制程序的作用,定义一个void变量没有意义,不妨试着定义:
void a;
这行语句编译时会出错。不过,即使void a的编译不会出错,它也没有任何实际意义。
void真正发挥的作用在于:
(1)对函数返回的限定;
(2)对函数参数的限定。
众所周知,如果指针p1和p2的类型相同,那么我们可以直接在p1和p2间互相赋值;如果p1和p2指向不同的数据类型,则必须使用强制类型转换运算符把赋值运算符右边的指针类型转换为左边指针的类型。
void在单片机中的用法?
在C/C++中,在任意时刻都可以使用其它类型指针来代替void指针,或者用void指针来代替其他类型指针。
void指针一般被称为通用指针或叫泛指针。它是C语言关于纯粹地址的一种约定。当某个指针是void型指针时,所指向的对象不属于任何类型。因为void指针不属于任何类型,则不可以对其进行算术运算,比如自增,编译器不知道其自增需要增加多少。
为什么函数指针只能指向void?
因为,void*函数指针可以指向任何函数。
所以,void*指针是“万能指针。
void 类型是一个特殊的类型,常被称作“空类型”,C语言中没有 void 类型的变量,所以在遇到 void * 指针时,编译器根本不知道如何解释接下来的内存,甚至编译器都不知道接下来多少内存属于它。