LINUX.ORG.RU

История изменений

Исправление user_id_68054, (текущая версия) :

си/си++ нет возможности узнать количество элементов массива по указателю

значение sizeof — вычисляется во время компилирования программы (а не во время выполнения программы).

узнать колличество элементов можно только если зарание его где-то запомнить.

а только лишь по указателю — узнать количество элементов нельзя [официально].

int count_names = sizeof(names) / sizeof(char);

этот частный случай работает только лишь потому что компилятор знает кое-что про names. но если бы этот names был бы внутри аргумента функции — то это бы не сработало бы.

вобщем не стоит на это надеется :) .. а стоит всегда полагать что нельзя узнать колличество элементов (только лишь по указателю).

Исправление user_id_68054, :

си/си++ нет возможности узнать количество элементов массива по указателю

значение sizeof — вычисляется во время компилирования программы (а не во время выполнения программы).

узнать колличество элементов можно только если зарание его где-то запомнить.

а только лишь по указателю — узнать количество элементов нельзя [официально].

int count_names = sizeof(names) / sizeof(char);

этот частный случай работает только лишь потому что компилятор знает кое-что про names. но если бы этот names был бы внутри аргумента функции — то это бы не сработало бы.

вобщем не стоит на это надеется :) .. а стоит всегда полагать что нельзя узнать колличество элементов.

Исходная версия user_id_68054, :

си/си++ нет возможности узнать количество элементов массива по указателю

значение sizeof — вычисляется во время компилирования программы (а не во время выполнения программы).

узнать колличество элементов можно только если зарание его где-то запомнить.

а только лишь по указателю — узнать количество элементов нельзя [официально].