私の問題は、このコードがあることです:
int size=4384;
char buffer[size];
codifyDHCPmessage(buffer, message, size);
ここで、message は char[] のみを含む構造体であり、関数は構造体のすべてのフィールドをバッファに返します。
バッファ配列を調べて、すべてのフィールドが正常であることを確認します。
しかし、私の問題は、そのバッファを次のように新しい関数に再度渡す場合です。
decodifyDHCPmessage(buffer,messageAux, size);
その関数で最初に行うことは、バッファーのサイズを確認することです。これは、4384 であると想定されているのに、4 であることを教えてくれるだけです...そして理由はわかりません。
私は C の専門家ではなく、ポインタとメモリ割り当ての問題は私にとって難しいと言わざるを得ません。
よろしくお願いします。