Передать массив функции по значению

Ниже приведен отрывок из книги Программирование на C только часто задаваемые вопросы . Разве это не неправильно, ведь массивы никогда не могут быть переданы по ссылке?

VIII.6: Как передать массив в функцию по значению?

Ответ: Массив может быть передан в функцию с помощью стоимость путем объявления в вызываемая функция имя массива в квадратных скобках ( [ и ] ) прикреплен к концу. При вызове функции, просто передайте адрес массив (то есть имя массива) вызываемой функции. Например, следующая программа передает массив x [] функции с именем byval_func () по значению:

Параметр int [] сообщает компилятор, что byval_func () функция будет принимать один аргумент - массив целых чисел. Когда вызывается функция byval_func () , вы передать адрес массива в byval_func () :

 byval_func (x);

Поскольку массив передается значение, точная копия массива сделано и помещено в стек. В вызываемая функция затем получает это копию массива и можете ее распечатать. Поскольку массив передан в byval_func () является копией исходный массив, изменяющий массив в функции byval_func () есть не влияет на исходный массив.

36
задан Suraj Jain 5 February 2017 в 10:52
поделиться