myNewValue = something[arrayNumber] *someOtherValue; myNewValue = multidimentional[arrayNumber][anotherNumber] *someOtherValue; myNewValue = noArrayVariableWorksFine * someOtherValue; int func(int * thingy, volatile int *arrayThingy[NUMBER]); int func(int * thingy, volatile int *arrayThingy[NUMBER][anotherNumber]); int func(int * thingy, volatile int *noArrayThingyWorksFine);