在我的以下代碼中,我將buffer
設爲使用malloc(r * c * sizeof(double*));
創建的二維數組。我想用memcpy
將buffer
的前12個元素(即前4行)複製到第二個temp
。使用memcpy複製內存塊時的問題
double *buffer = malloc(10 * 3 * sizeof(double*));
double *temp = malloc(4 * 3 * sizeof(double*));
for (int i = 0; i < 4; ++i) {
memcpy(*(temp+ i*3), *(buffer + i*3), 3 * sizeof(double));
}
我得到這個錯誤:
memcpy(*(temp+ i*3), *(buffer + i*3), 3 * sizeof(double));
^~~~~~~~~~~~~~~~~~~~~~~~~~
有人能告訴我爲什麼嗎?
預先感謝您。
當然這不是編譯器的診斷的全部? – EOF
沒有二維數組,而是一維數組。任何你不使用二維數組的原因,但手動做索引數學? – Olaf
什麼是錯誤信息?看[問]並提供[mcve]。 – Olaf