プログラムで再利用したい配列に問題があります。サイズを動的に変更してクリアする必要があります。しかし、残念ながらサイズ変更は機能しません。
uint8_t * readBuffer; // Create array pointer
readBuffer = (uint8_t *) malloc(4); // Mem. alloc. 4bytes
memset(readBuffer, 0, sizeof(readBuffer); // Reset array
// Do stuff
free(readBuffer) // Release mem. block
....
readBuffer = (uint8_t *) malloc(1) // Mem. alloc. 1byte
memset(readBuffer, 0, sizeof(readBuffer); // Reset array
// Do stuff
free(readBuffer) // Release mem. block
サイズ変更のステップでは、配列の長さはまだ前者 (4) です。
私はfree
すべて間違って使用していますか?
memset
さらに、クリアするためのはるかに効率的な代替手段はありますか?
前もって感謝します。