中級 › 配列と、先頭要素へのポインタでsizeofの結果が変わってしまう理由 › パターン5
配列と、先頭要素へのポインタでsizeofの結果が変わってしまう理由
配列そのもの(nums)と、先頭要素のアドレス(&nums[0])を混同してsizeofに渡してしまうバグです。
1 #include <iostream> 2 int main() { 3 int ids[6] = {1, 2, 3, 4, 5, 6}; 4 std::cout << sizeof(_______) << std::endl; ^ 5 return 0; 6 }
出力: 8期待: 24(int6個分)
空欄を埋めてコンパイル・実行を通す
配列全体のサイズを知りたいときは配列名そのものをsizeofに渡します。
次の問題