1、void*指针是指针,也指向内存中某个地址的数据,但是内存中的数据类型是不确定的,所以使用时需要转换类型。 2、void的意思是无类型,是无类型指针,可以指向任何类型的数据。 因此void指针通常被称为通用指针或泛指针,或万能指针。 实例 代码语言:javascript 复制 #include<stdio.h>intmain(void){int num1=1;cha...
在内存的分配中我们可以见到 void 指针使用:内存分配函数 malloc 函数返回的指针就是void *型,用户在使用这个指针的时候,要进行强制类型转换,也就是显式说明该指针指向的内存中是存放的什么类型的数据(int *)malloc(1024)表示强制规定 malloc 返回的 void* 指针指向的内存中存放的是一个个的 int 型数据。 2. ...
void*是一种特殊的指针类型,可以用来存放任意对象的地址。一个void*指针存放着一个地址,这一点和其他指针类似。不同的是,我们对它到底储存的是什么对象的地址并不了解; 比如:double a=2.3; int b=5; void *p=&a; cout<<p<<endl; //输出了a的地址 p=&b; cout<<p<<endl; //输出了b的地址 //cout...
什么是万能指针? 万能指针其实就是void *类型的指针,而void *指针一般被称为通用指针或叫泛指针。它是C语言关于纯粹地址的一种约定。当某个指针是void型指针时,所指向的对象不属于任何类型。 因为void指针不属于任何类型,不可以对其进行算术运算,比如自增,编译器不知道其自增需要增加多少。
void* 类型指针:通用变体类型指针;可以不经转换,赋给其他指针,函数指针除外;malloc返回的就是void*类型。 NULL指针:是一个标准规定的宏定义;#define NULL ((void *) 0) 用来表示空指针常量; 零指针:指针值为0,零值指针,没有存储任何内存地址的指针;可以使任意一种指针类型,eg:void * ;int * ;double *; ...
void*是一种特殊的指针类型,可用于存放任意对象的地址。一个void*指针存放着一个地址,这一点和其他指针类似。 不同的是,我们对该地址中到底是个什么类型的对象并不了解∶ doubleobj =3.14, *pd = &obj;// 正确∶ void*void*pv = &obj;// obj可以是任何类型的对象pv = pd;// pv 可以存放任意类型的指...
void*是一种特殊的指针类型,用来表示指向任意类型的指针,但它不保存任何关于指向对象类型的信息。有几...
但void*则不同,编译器会允许你做类似于int someInt = 10; void* par = &someInt;之类的操作,因为无论指向什么类型的指针,指针本身所占空间是一定的。我们可以认为void*就是一个通用指针,可以指向任意类型的指针。我们都知道,指针有两个属性:指向变量/对象的地址和长度,但是指针指存储被指向变量的地址,长度则...