我试图了解类型转换在以下代码中的作用
UA_Variant Variant;
Int32_t Variable;
variable = *(int32_t *) Variant.data;
printf("%d", variable);
这是 UA_Variant 的结构
typedef struct
{
const UA_DataType *type; /* The data type description */
UA_VariantStorageType storageType;
size_t arrayLength; /* The number of elements in the data array */
void *data; /* Points to the scalar or array data */
size_t arrayDimensionsSize; /* The number of dimensions */
UA_UInt32 *arrayDimensions; /* The length of each dimension */
} UA_Variant;
这条线发生了什么
variable = *(int32_t *) Variant.data;
是否将 Variant 中的数据类型转换为 int32_t 然后将其指针放入变量中,如果是这样,为什么我可以打印出存储在变量中的值?