私はCの初心者プログラマーなので、私の言語/スタイルが専門的でない場合は失礼します。
質問:文字配列のサイズを決定しようとしているので、後でmalloc()を使用して割り当てるサイズを知ることができます。
私のコード:
char *dest;
char *src1 = "Test String";
char src2[] = "Testing!";
dest = (char *) malloc( sizeof(src1) );
問題は、src1とsrc2のメモリ内のサイズを確認したいということです。つまり、src1のサイズは11で、src2のサイズは8である必要があります。しかし、sizeof()から受け取った結果は次のとおりです。
- sizeof(* src1)は1であるため、sizeof(char)
- sizeof(src1)は4 <-なぜ誰かが説明できるのかわかりませんか?
- sizeof(src2)は9 <-これが私が望むものであり、ヌルターミネータもサイズにカウントされると思います
しかし、src1のサイズを適切に決定する方法は?そして、どうしてsizeof(src2)は機能するのに、sizeof(src1)は機能しないのですか?
何をしようとしているのかわからない場合は、返信してください。わかりやすくするように努めます。
前もって感謝します。