关于结构体强制转换的问题
在读程序的时候遇到一个小问题,下面是程序中的一个小部分,DM_Swarm *swarm = (DM_Swarm*)dm->data 这个语句是什么意思呢? 是将结构体dm中的成员data强制转化为DM_Swarm型结构体? 我是一个c语言的新手,不知道我的理解对不对,还请大神指明!谢谢!
642: PETSC_EXTERN PetscErrorCode DMSwarmRestoreField(DM dm,const char fieldname[],PetscInt *blocksize,PetscDataType *type,void **data)
643: {
644: DM_Swarm *swarm = (DM_Swarm*)dm->data;
645: DataField gfield;
649: DataBucketGetDataFieldByName(swarm->db,fieldname,&gfield);
650: DataFieldRestoreAccess(gfield);
651: if (data) *data = NULL;
652: return(0);
653: }