だから、ポインター変数を指定した場合、ポインターの指している先に確保されているメモリサイズを返すのではなく、ポインターのサイズ(32bitCPUならたぶん4)が返る。
- size_t sz = sizeof("abcdefghij");
-
- const char *p = "abcdefghij";
- size_t sz = sizeof(p);
-
-
- strlen("abcdefghij")
- strlen(p)
size_t sz = sizeof("abcdefghij"); // \nが含まれて 11
const char *p = "abcdefghij";
size_t sz = sizeof(p); // 型のサイズ 4
// 文字列の長さもとめるならstrlen
strlen("abcdefghij") // 10
strlen(p) // 10
0 件のコメント:
コメントを投稿