Я читал документ о размещении csc, где прочитал вопрос, связанный с оператором sizeof() массива языка c. Ответ был чем-то другим, чем я ожидал.
int DIMension(int array[]) {
return sizeof(array )/ sizeof(int);
}
main() {
int arr[10];
printf(“Array dimension is %d”, DIMension(arr));
}
Эта программа на языке c выводит 1 в качестве ответа. Почему это происходит?
return sizeof(array)/sizeof(int);
Оператор, как написано выше, делит адрес, содержащийся в массиве, на sizeof (int). - person fvu   schedule 09.09.2011DIMension()
array
- это просто указательint
, поэтому ваше предложение тоже не сработает. - person Kusalananda   schedule 09.09.2011