void AnswerFunc(int remainCount, int (*srcArr)[21])
{
if (remainCount <= 0)
{
result = max(result, FindMaxElement(srcArr));
return;
}
int tempArr[21][21];
for (int i = 0; i < 4; ++i)
{
//memcpy(tempArr, srcArr, sizeof(srcArr));
for (int k = 0; k < N; ++k)
{
for (int l = 0; l < N; ++l)
{
tempArr[k][l] = srcArr[k][l];
}
}
StartMoveAllElements(i, tempArr);
ClearMergeCheckArray();
AnswerFunc(remainCount - 1, tempArr);
}
}
2차원배열 저렇게 받으면 된다길래 저렇게받고 memcpy 돌렸는데 왠 쓰레기값만 복사되서 당황했는데
이거 memcpy 못씀?? 2중포문돌려서 하나하나집어넣는거 존나 맘에안드는데
벡터쓰실?
그런 푸씨들이나 쓰는거 안씀
행단위로 memcpy?
지금은 그게 최선인듯
일단 주석처리된건 니가 사이즈 잘못 계산함.
사이즈 잘 계산하면 당연히 행단위로 안해도 됨.
행단위로 해도 수정이 필요함. 그냥 니가 잘못한거
memcpy(tempArr, srcArr, sizeof(int) * 21 * 21); ㄱㄱ
포인터는 크기에 대한 정보를 갖고 있지 않아서 sizeof 하려면 위 댓글 처럼 써야 됨
struct로 감싸서 넘기면 복사됨 왜 다들 struct를 안쓰지
전 복사되는 시간 싫어서 안 씀
시간 생각하면 담부턴 memmove추천 - dc App
왜 std::array 안씀? 복사 되는거 싫으면 참조 쓰면 되잖음? 진짜몰?루
제가 백준에서 쓰는 언어가 C99라...
근데 그냥 sizeof tempArr 쓰면 안됨?