Передача массива в качестве параметра функции на языке C

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