C で配列を操作する場合、そのサイズを決定することが必要になる場合があります。ただし、配列を関数の引数として渡すと、明示的なサイズ情報が残らずポインターに変換されます。
ポインタから配列のサイズを決定する正しい方法は、サイズを追加として渡すことです。 argument.
int largest(int *list, int highest_index) { // ... }
この関数を使用するには、配列とそのサイズを引数として渡します。
int array[] = {1, 2, 3, 4, 5}; int size = sizeof(array) / sizeof(int); // Calculate array size int max = largest(array, size);
C は配列/ポインタの等価性を継承します。 C からのもので、配列が関数に渡されるときにポインターに減衰することができます。この動作は、ポインタにサイズ情報が含まれていないことを意味します。
配列のメモリ レイアウトを理解することが重要です。配列が宣言されると、その要素を格納するために連続したメモリが割り当てられます。最初の要素へのポインタは配列の始まりを意味しますが、そのサイズに関する情報は含まれません。
C でポインタから配列のサイズを正確に決定するには、次のようにします。配列を処理する関数に追加の引数としてサイズを渡す必要があります。このアプローチにより、関数が必要な情報に確実にアクセスできるようになります。
以上が関数へのポインターとして渡される C 配列のサイズを決定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。