# 配列のサイズとポインタのサイズはどういう意味ですか？

`````` static string const dirs = {"-n", "-ne", "-se", "-s", "-sw", "-nw" };
int a = sizeof(dirs)/sizeof(*dirs);
``````

そしてaは6の配列のサイズに等しくなります。

だから私の質問です：

1. sizeof（dirs）は何を表していますか？配列全体のサイズは？

2. sizeof（* dirs）は何を表していますか？

2

もしあなたがC ++で配列を使っていこうとしているのであれば、これを行うのが普通の方法です： ```template size_t arraylen（T（＆）[N]）{return N; }```

もしあなたがC ++で配列を使っていこうとしているのであれば、これを行うのが普通の方法です： ```template size_t arraylen（T（＆）[N]）{return N; }```

@ JerryCoffin：それに `constexpr` を追加します：P

`sizeof` が何で、 `sizeof` が何をしているのかについて、好きなC ++の本は何を言っていますか？

`sizeof` が何で、 `sizeof` が何をしているのかについて、好きなC ++の本は何を言っていますか？

その日の私の好きな表現の誤用は「ポインタのサイズ」です。それが本当に意味するものにも近くない。 （Yay、あなたはこれを知っていたはずです。

その日の私の好きな表現の誤用は「ポインタのサイズ」です。それが本当に意味するものにも近くない。 （Yay、あなたはこれを知っていたはずです。

## 9 答え

``````what does sizeof(dirs) represent? Is the size of the total array?
``````

はい、そうです。

``````what does sizeof(*dirs) represent?
``````

`*dirs` is same with `dirs`, so `sizeof(*dirs)` is the size of the first element. (well ,the size of every element because they are the same)

`sizeof(dirs)/sizeof(*dirs)` will be the number of elements in the array.

2

``````what does sizeof(dirs) represent? Is the size of the total array?
``````

はい、そうです。

``````what does sizeof(*dirs) represent?
``````

`*dirs` is same with `dirs`, so `sizeof(*dirs)` is the size of the first element. (well ,the size of every element because they are the same)

`sizeof(dirs)/sizeof(*dirs)` will be the number of elements in the array.

2

1. `sizeof(dirs)` represents the size of the entire array
2. `sizeof(*dirs)` represents the size of a single element of the array

したがって、sizeof（* dirs）*要素の数= sizeof（dirs）、要素の数*各要素のサイズ=配列全体のサイズ

したがって、要素の数= sizeof（dirs）/ sizeof（* dirs）。

2

" `sizeof（* dirs）`は、配列の要素のサイズを表します。つまり、最初の要素のサイズを表します。

1. `sizeof(dirs)` represents the size of the entire array
2. `sizeof(*dirs)` represents the size of a single element of the array

したがって、sizeof（* dirs）*要素の数= sizeof（dirs）、要素の数*各要素のサイズ=配列全体のサイズ

したがって、要素の数= sizeof（dirs）/ sizeof（* dirs）。

2

" `sizeof（* dirs）`は、配列の要素のサイズを表します。つまり、最初の要素のサイズを表します。

sizeof演算子が参照に適用されるとき、sizeofがオブジェクト自体に適用された場合と同じ結果になります。

サイズの指定されていない配列が構造体の最後の要素である場合、sizeof演算子は配列のない構造体のサイズを返します。

sizeof演算子は、次の形式の式を使用して配列の要素数を計算するためによく使用されます。

``````sizeof array/sizeof array
``````
0

sizeof演算子が参照に適用されるとき、sizeofがオブジェクト自体に適用された場合と同じ結果になります。

サイズの指定されていない配列が構造体の最後の要素である場合、sizeof演算子は配列のない構造体のサイズを返します。

sizeof演算子は、次の形式の式を使用して配列の要素数を計算するためによく使用されます。

``````sizeof array/sizeof array
``````
0

`sizeof` operator yields the size in bytes of the provided operand. Since `*dir` is equal to `dir` the `sizeof(*dirs)` will return the size of the first array element in bytes wile `sizeof(dirs)` will return the size in bytes of all array. Hence when you divide those numbers you get the number of elements in array.

0

0

0