void表示的是无类型,不能声明变量或常量,但是可以把指针定义为void类型,如void* ptr。
void* 指针可以指向任意类型的数据,在C语言指针操作中,任意类型的数据地址都可转为void* 指针。因为指针本质上都是unsigned int。
常用的内存块操作库函数:
void * memcpy( void *dest, const void *src, size_t len );
void * memset( void *buffer, int c, size_t num);
数据指针为void* 类型,对传入任意类型数据的指针都可以操作。另外其中memcpy第二个参数,const现在也如前文所述,拷贝时对传入的原数据内容禁止修改。
特殊说明,指针是不能使用sizeof求内容大小的,在ARM系统固定为int 4字节。对于函数无输入参数的,也尽量加上void,如:
void fun(void);