我定义了6个数组,每个数组可以包含10个值:
static s16 arr_A[10];
static s16 arr_B[10];
static s16 arr_C[10];
static s16 arr_D[10];
static s16 arr_E[10];
static s16 arr_F[10];现在我有了一个现有的函数,它提供了我感兴趣的值:
FunctionContainsValuesOfInterest(&adc_values[0]);
myValues = adc_values[GROUP_A];
myValues = adc_values[GROUP_B];
myValues = adc_values[GROUP_C];
myValues = adc_values[GROUP_D];
myValues = adc_values[GROUP_E];
myValues = adc_values[GROUP_F];每次调用FunctionContainsValuesOfInterest()时,我都会得到新的值。现在我想创建一个循环,例如,我用adc_valuesGROUP_A的10个值填充数组arr_A[],用adc_valuesGROUP_B的10个值填充arr_B[]。
这里最好和最有效的程序是什么?
发布于 2017-11-02 21:54:37
假设adc_values元素的类型与arr_X的类型相同,即s16,则可以使用memcpy函数复制整个或部分adc_values
memcpy(arr_A, &adc_values[GROUP_A], sizeof(arr_A));上面的假设是,对于i,adc_values[GROUP_A]在0和9之间的adc_values[GROUP_A+i]的10个连续项是需要复制到arr_A中的值。
https://stackoverflow.com/questions/47076963
复制相似问题