デバッグ、リリースstrlenおよびsizeof
Debug Release Strlen
1、c / c ++
文字配列に初期値が割り当てられていない場合、strlen(str)のデバッグバージョンとリリースバージョンでは結果が異なります。
割り当てられるsizeofは何でも。
#include using namespace std void main() { char str[10] cout << str << endl cout << 'len is ' << strlen(str) << endl cout << 'len is ' << sizeof(str) << endl getchar() }
同じ結果をデバッグしてリリースするために、変数は最終定義の後に初期化されます。そうしないと、プログラムが間違っている可能性があり、そこで問題を見つけるのが困難になります。
strlenとsizeofの詳細については、Microsoftの公式ドキュメントを参照してください。
strlen
strlenが行うのは、カウンターの作業だけです。メモリ内の特定の位置(文字列の先頭、中央の特定の位置、または不確定なメモリ領域)から最初の文字列の終了文字「 0」に到達するまでスキャンを開始し、その後、カウンター値(長さには「 0」は含まれません)。
のサイズ
C言語では、関数ではない式のデータ型または長さを決定します。バイト数の計算は、プログラムの実行中だけでなく、プログラムのコンパイル時に実行されます。