具有不同尺寸的相同不同类型

时间:2014-05-13 12:14:10

标签: c memory types variable-assignment

我想为这样的变量赋值:

rtpArray[bn].ts06_timestamp = rtpArray[bn].timestamps_shm_ptr_aux[SCPAD_TS06];

问题是,rtpArray[bn].ts06_timestamp这是一个名为utdc_samples的类型,大于char,而rtpArray[bn].timestamps_shm_ptr_aux是一个char的数组。

我的问题是,这会有效吗?

2 个答案:

答案 0 :(得分:1)

如果rtpArray[bn].timestamps_shm_ptr_aux是一个字符数组,则rtpArray[bn].timestamps_shm_ptr_aux[SCPAD_TS06]是一个char值。没有理由不能将其分配给更大的整数类型。

答案 1 :(得分:0)

很难确定这一点,因为您没有显示代码正在使用的完整声明。

您正在右侧进行索引,这意味着右手大小的结果是单个字符,即一个小整数。假设utdc_samples也是一个整数类型,但大于char,那么分配就可以了。