将整数数组复制到另一个整数数组

Ang*_*gus 2 c

#include<stdio.h>

void int_copy(int* ptrA,int* ptrB,int nbr){
 //int* temp = ptrB;
 while(nbr != 0){
  *ptrB++ = *ptrA++;
  nbr--;
 }
 *ptrB = -1;
 //ptrB = temp;
}

int main(){
 int stringa[40] = {100,101,102,103,104,105,106,107,108,109,110,-1};
 int stringb[40] = {0};
 int *ptr;
 int *ptr1;
 int len = 0;

 ptr = stringa;
 ptr1 = stringb;

 while(*ptr != -1){
  *ptr++;len++;
 }

 printf("\n len : %d \n",len);

 int_copy(stringa,stringb,len);

 while(*ptr1 != -1){
  printf("%d\t",*ptr1);
  *ptr1++;
 }

 return 0;
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试一个示例程序将整数数组复制到另一个整数数组.还有另一种方法可以更有效地完成它.

编辑:

void int_copy(int* ptrA,int* ptrB,int nbr){
 memcpy(ptrA,ptrB,(sizeof(int)*nbr));
}
Run Code Online (Sandbox Code Playgroud)

Kar*_*ath 5

不要使用sentinel(-1),存储长度.

然后你可以使用memcpy- 提示:复制sizeof(int)*len字节.