Pointers are commonly used with arrays in C to iterate through elements and access data. Pointers store the memory address of the variable they are pointing to. To access the value of the pointer, the dereference operator * is used. Pointer arithmetic allows pointers to be incremented or decremented to access successive elements in an array. Functions can accept pointers to arrays rather than the entire array. Multidimensional arrays can be implemented by having arrays of pointers in C.