LINUX.ORG.RU

Сообщения braked

 

[Си] Какова мотивировка «‘‘array of type’’ shall be adjusted to ‘‘qualified pointer to type’’»?

Форум — General

SO/IEC 9899:1999

6.7.5.3 Function declarators (including prototypes)

абзац 7

A declaration of a parameter as ‘‘array of type’’ shall be adjusted to ‘‘qualified pointer to type’’, where the type qualifiers (if any) are those specified within the [ and ] of the array type derivation. If the keyword static also appears within the [ and ] of the array type derivation, then for each call to the function, the value of the corresponding actual argument shall provide access to the first element of an array with at least as many elements as specified by the size expression.

А смысл? Может тогда и все массивы сделать указателями на тип, а значит и modifiable lvalue? Почему это сделано только с массивами, являющимися параметрами функции?

 

braked
()

Объясните предложение из стандарта Си

Форум — Development

ISO/IEC 9899:1999

6.7.5.3 Function declarators (including prototypes)

абзац 7

A declaration of a parameter as ‘‘array of type’’ shall be adjusted to ‘‘qualified pointer to type’’, where the type qualifiers (if any) are those specified within the [ and ] of the array type derivation. If the keyword static also appears within the [ and ] of the array type derivation, then for each call to the function, the value of the corresponding actual argument shall provide access to the first element of an array with at least as many elements as specified by the size expression.

Что они хотят? Как они будут проверять, что переданный аргумент обладает указанным свойством?

Объявил функцию void f(int a[static 4]); и без проблем передал ей массив из двух элементов, компилятор gcc 4.1.2

Перемещено Dimez из General

braked
()

RSS подписка на новые темы