void* 表示空指针。空指针不能直接使用,例如,指针的加减法操作(因为不知道类型,无法确定偏移的大小)。某些情况下,不知道指针的类型,先用void*来代替,根据需要再强制转换成需要的指针类型使用。
比如malloc函数,它只是申请了一块堆内存,并将首地址返回,但是它根本就不知道调用者会用什么指针来接收这个地址,所以干脆就返回一个指向内存地址的空指针,由用户自己来转换。
void* 表示空指针。空指针不能直接使用,例如,指针的加减法操作(因为不知道类型,无法确定偏移的大小)。某些情况下,不知道指针的类型,先用void*来代替,根据需要再强制转换成需要的指针类型使用。
比如malloc函数,它只是申请了一块堆内存,并将首地址返回,但是它根本就不知道调用者会用什么指针来接收这个地址,所以干脆就返回一个指向内存地址的空指针,由用户自己来转换。