0
点赞
收藏
分享

微信扫一扫

【嵌入式C语言】void与void*

豆丁趣 2022-01-21 阅读 70

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);
举报

相关推荐

0 条评论