Сожги эту книгу.Если вам нужен настоящий FAQ по C, который не был написан начинающим программистом, используйте этот: http://c -faq.com / aryptr / index.html .
Синтаксически, строго говоря, вы не можете передать массив по значению в C.
void func (int* x); /* this is a pointer */
void func (int x[]); /* this is a pointer */
void func (int x[10]); /* this is a pointer */
Однако , для записи естьподвох в C, который позволяет вам передавать массив по значению в C. Не пытайтесь сделать это дома!Потому что, несмотря на этот трюк, по-прежнему нет причин передавать массив по значению.
typedef struct
{
int my_array[10];
} Array_by_val;
void func (Array_by_val x);