Все параметры в C действительно передаются по значению, что означает, что фактический аргумент не изменится, независимо от того, включено ли это const
или нет.
Однако это не означает, что const
здесь "никогда не нужно". Нужно это или нет, зависит от того, чего вы хотите достичь.
Если вы хотите предотвратить любые попытки изменить параметр внутри функции, тогда const
- это, конечно, .
Существует довольно популярное (и довольно разумное) руководство по кодированию, которое гласит, что параметры функции никогда не должны изменяться внутри функции, то есть, что в любой точке выполнения функции все параметры должны сохранять свои исходные значения. Согласно этому руководству, на самом деле было бы логично всегда включать это const
во все объявления параметров.