Passing value or passing reference in Monkey C?

function exchange(array,i,j) {
        array[i] = array[i] ^ array[j];
        array[j] = array[i] ^ array[j];
        array[i] = array[i] ^ array[j];
    }
    
    
    

Hi , as a function above.

If I define an array [1,2,3,4] and invoke this function by exchange(array,0,2). Will the array become [2,1,3,4]?

Thanks. BTW, are there libs for monkey c like HashSet or Sort algorithms?