#include <iostream>
int main()
{
//memset : 메모리를 내가 원하는 크기만큼 원하는 값으로
//채워주고자 할 때 사용한다.
//**단, 1바이트 단위로 값을 채워준다.**
int NumberArray[10] = { 1,2,3,4,5 };
//1번인자 : 메모리 주소
//2번인자 : 채워줄 값
//3번인자 : 채워줄 메모리 크기
memset(NumberArray, 1, sizeof(int) * 10);
//NumberArray 배열을 4*10(40byte)만큼 1로 채워라.
//이상한 값이 출력된다
//왜냐하면 int는 4byte 단위로 숫자를 읽는데,
//memset은 1바이트 단위로 1을 넣기 때문이다.
//선생님은 일반적으로 배열을 0으로 초기화하는데 쓴다고 함
//memcpy : 메모리를 복사할 때 사용한다.
int NumberArray1[10] = {};
//1번인자 : 메모리 주소
//2번인자 : 복사할 값
//3번인자 : 복사할 메모리 크기
//1번인자의 주소에 2번인자의 주소로부터 3번인자의 크기만큼을 복사한다.
std::cout << "복사 전 : ";
for (int i = 0; i < 10; ++i)
{
std::cout << NumberArray1[i];
}
memcpy(NumberArray1, NumberArray, sizeof(int) * 10);
std::cout << "\n복사 후 : ";
for (int i = 0; i < 10; ++i)
{
std::cout << NumberArray1[i];
}
//C++의 엄청난 장점. 메모리를 고속으로 복사하기 때문에 속도가 매우 빠르다.
//memset, memcpy 매우 중요!!
return 0;
}