parameter passing



Hello,

I have a serious problem with parameters in Maxima.
I don't understand parameters passing in Maxima:

(1) is there a way to pass an array/matrix as a parameter by  reference?
For example, in order to have a function change some elements in an 
array/matrix,
do I always need to copy the whole array/matrix locally?

(2) how do I declare an array local? do I need to use the "local"
command. Putting it in brackets after the "block" command seems not to work.

Could you give me a toy example?
like for instance a function that modifies a matrix passed as a parameter
by setting one value to zero.

   Thanks in advance

    Fabrizio Caruso