电子说
首先了解一下指针。
例如: int intA=100;定义一个整型变量intA,值为100。
比如占的首地址为#888,变量末地址为#888+32。
int *ptr;定义一个指针型变量ptr。 ptr=&intA;ptr即为地址,&像钩子一样把intA的地址钩出来赋值给ptr *ptr=intA=100;*像打靶一样,射向地址的内容。即*ptr=100。
理解了此内容后,再来看int *ptr和void *ptr的区别,指针型变量的类型void和int有啥作用?
还用以上例子,假如ptr的地址为#888,那末地址是+8/+16/+32/+64呢,数据占用多长地址这就需要看类型了,int类型在32位单片机中是+32。
void类型只能确定首地址,不能确定数据占用多长内存。
下面举例,给任务传递一个参数: 为了便于理解,将byte转换为void,任务1是通过中间变量转换的,任务二是直接转换的。两种方法都可以。
审核编辑:刘清
全部0条评论
快来发表一下你的评论吧 !