0

このプログラムが 4 を出力する理由

#define SIZE 10
void size(int arr[SIZE])
{
   printf("size of array is:%d\n",sizeof(arr));
}

 int main()
{
      int arr[SIZE];
      size(arr);
      return 0;
}

size(arr関数内で) を呼び出す場合は、関数内mainのアドレスarrmain関数内に割り当てるという意味ですか?arr[SIZE]size

誰かがこれを解釈できますか?

4

1 に答える 1

1

関数内にarrはポインタがあります。ポインタは 4 バイトです。sizeof引数として渡された変数のサイズ (バイト単位) を返します。それが理由です。

于 2013-03-20T04:16:39.077 に答える