Thank you very much for your reply, bulk88! I was getting desperate. I really appreciate your help!
You were right that I do need to pass the bulk of data and not just the 1st slice, and I need to do something in my C function and update values in the array that are passed as parameters. (so both in and out) In fact, my array is 2-dimensional, making the case more complicated...
I tried your code (the second version) and everything works perfectly. In my actual application where I need the entire 2D array as input and output, do I need to do av_fecth(all indices) in order to access their addresses? Or is there a better way to do this? I realized that when I increment the address passed to my C function, I can't access the other elements in the array. For instance, if I were to do
in my C subroutine, it's returning the gibberish value again.