c语言一个简单指针问题

来源:百度知道 编辑:UC知道 时间:2024/06/07 23:21:11
LZ1_MC_ClassData是结构体变量名,LZ1_MC_ClassData* mr和LZ1_MC_ClassData *mr表达是一样的吗?

void LZ1_DogHeadUpAni(void *pmemrtr)
{
LZ1_MC_ClassData* mr;
mr = (LZ1_MC_ClassData*)pmemrtr;

mr = (LZ1_MC_ClassData*)pmemrtr;表示什么意思?

那两种的写法是一样的,*的位置你现在不用注意太多,工作了就有讲究了。
void *pmemrtr
是个是一个返回空类型的指针,
mr = (LZ1_MC_ClassData*)pmemrtr
就是把这个返回为空类型的指针让他有返回的类型(LZ1_MC_ClassData*)
然后让这个指针指向这个结构体指针类型的变量,用来操作结构体。

LZ1_MC_ClassData* mr和LZ1_MC_ClassData *mr表达是一样的吗?
这两个写得一模一样还问一不一样,晕.

你都说LZ1_MC_ClassData是结构体变量名,那就是一种类型,
mr = (LZ1_MC_ClassData*)pmemrtr
就是把pmemrtr强制转换成(LZ1_MC_ClassData*)嘛,
就像
i = (int*)pmemrtr 一个道理.

1.一样
2.表示将pmemrtr指针类型强行转换,指定为LZ1_MC_ClassData*类型