C++エッセイ--strlenとsizeof

718 ワード

1.strlenとsizeofの違い
.文字列の長さを取得するにはstrlen関数を使用し、char*のみをパラメータとして「0」で終わる.sizeofは演算子で、タイプ、関数でパラメータを作ることができます.
strlenは文字列の長さを計算するために使用され、タイプがメモリのサイズを占めるわけではありません.
char str[20]="0123456789"; int a=strlen(str);//a=10; >>>> strlenは、終了文字0 x 00を文字列として終了する文字列の長さを計算します.int b=sizeof(str);//b=20;>>>sizeofは,割り当てられた配列str[20]が占めるメモリ空間の大きさを計算し,格納されている内容によって変化させない.
ポインタの場合:
char* ss = "0123456789"; sizeof(ss)結果4===ssは文字列定数を指す文字ポインタであり、sizeofが得たのは1つのポインタの占める空間であり、長整数型であるべきであるため、4 sizeof(*ss)結果1==)*ssは1番目の文字が文字列の1番目のビット'0'を得たメモリ空間であり、charタイプである.1ビットstrlen(ss)=10>>>>この文字列の長さを取得するにはstrlenを使用します.