C언어에서 배열을 복사하는 여러 방법이 있다.
배열의 값을 직접 대입하거나, memcpy를 사용할 수도 있다.
임베디드 환경에서는 간혹 memcpy를 지원하지 않거나, 원하는 동작을 안하는 경우가 있어서 포인터를 이용해서 활용하기도 했다.
기호에 맞게 사용하면 된다.
전체코드
Option 1 : 배열값 직접 대인
Option 2 : memcpy 함수 활용
Option 3 : 포인터 활용
#include <stdio.h>
#include <string.h>
int main(void)
{
int i;
unsigned char myBuf[100];
unsigned char cpyBuf[100];
for(i=0; i<100; i++)
{
myBuf[i] = i;
cpyBuf[i] = 0;
}
//unsigned char * pBuf;
//pBuf = myBuf;
/* Option 1 */
for(i=0; i<100; i++)
{
cpyBuf[i] = myBuf[i];
}
/* Option 2 */
memcpy(cpyBuf, myBuf, 100);
/* Option 3 */
for(i=0; i<100; i++)
{
cpyBuf[i] = *pBuf;
pBuf++;
}
return 0;
}
댓글을 불러오고 있습니다.