【发布时间】:2017-03-02 16:08:36
【问题描述】:
我想将元素范围从现有数组复制到新数组。它将有一个填充了 ID 的本地整数数组(只是随机数)。它还有一个全局空数组,其元素数量与本地数组相同。我的程序包含一个函数,它将本地数组的条目范围复制到全局数组。这个函数将是:
void func(int *ptr, int first, int last);
ptr 指针将用于本地数组的起始地址。 first 表示复制开始的位置。 last 表示复制结束的位置。顺便说一句,我正在使用代码编写器并使用 MSP430。这是我的代码,
#include <msp430.h>
int g_id[11];
int *ptr;
int *p;
int main(void) {
WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer
int id[11]={5,0,1,8,3,5,1,4,0,9,1};
int first = 3;
int last= 8;
ptr = id;
p = g_id;
for(ptr=&id[first]; *ptr < &id[last]; ptr++)
{
*p = *ptr;
p++;
}
while(1);
}
g_id 是全局数组,但我不知道。
last 不起作用,first 是 3,程序跳转到 3 个值并从 8 开始。 (8,3,5,1,4,0,9,1,0,0,0) 但我想看 (0,0,0,8,3,5,1,4,0,0,0 )
【问题讨论】:
-
我添加了这一行,但也没有用:
*p = g_id[first]; -
*ptr < &id[last]是类型错误。
标签: c arrays pointers code-composer