質問編集履歴
2
誤字
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
sizeof()関数で配列を引数に取った場合に、char型の配列であれば何らかの終端表現が存在するので出力出来るのは理解できるのですが、なぜint型の配列などを渡しても全体のサイズが分かるのでしょうか。
|
1
|
+
sizeof()~~関数~~演算子で配列を引数に取った場合に、char型の配列であれば何らかの終端表現が存在するので出力出来るのは理解できるのですが、なぜint型の配列などを渡しても全体のサイズが分かるのでしょうか。
|
2
2
|
1.char型でなくても終端表現がなんらかの形で存在する
|
3
|
-
2.sizeof()関数が使われている場合はコンパイラがサイズの情報をどこかに保存してくれている
|
3
|
+
2.sizeof()~~関数~~演算子が使われている場合はコンパイラがサイズの情報をどこかに保存してくれている
|
4
4
|
3.配列を宣言した時点で末端のアドレスと先頭のアドレスが保存される(もしこれならchar型の終端表現が必要無くなると思うのでなさそう)
|
5
5
|
4.コンパイラによって1.2を使い分けている
|
6
6
|
ここらへんが思いつきましたが調べてもちゃんとした情報にたどり着けませんでした。
|
1
修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -4,3 +4,4 @@
|
|
4
4
|
3.配列を宣言した時点で末端のアドレスと先頭のアドレスが保存される(もしこれならchar型の終端表現が必要無くなると思うのでなさそう)
|
5
5
|
4.コンパイラによって1.2を使い分けている
|
6
6
|
ここらへんが思いつきましたが調べてもちゃんとした情報にたどり着けませんでした。
|
7
|
+
またもし終端表現などが存在するのなら、関数の引数として配列を渡す場合に配列の長さも渡す必要は無いんじゃないかなと思いました。
|