既存の配列から新しい配列に要素の範囲をコピーしたい。それは、IDで満たされたローカル整数配列を持ちます(乱数のみ)。また、ローカル配列と同じ数の要素を持つグローバルな空の配列もあります。私のプログラムには、ローカル配列のエントリの範囲をグローバル配列にコピーする関数が含まれています。この関数は次のようになります:配列からC言語の別の配列への要素のコピー範囲
void func(int *ptr, int first, int last);
ptrポインタは、ローカル配列の開始アドレスとして使用されます。 最初には、コピーの開始位置を示します。 最後は、コピーがどこで終了するかを示します。 Btw、私はコードコンポーザーを使用して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);
}
グローバル配列ですが、私は把握できませんでした。
最後に動作せず、最初は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]; ' – ccs
' * ptr <&id [last] 'は型エラーです。 – melpomene