Да, вы бы использовали массив C, поскольку именно так вы в любом случае получаете данные пикселей.
Как уже упоминалось, вы должны посмотреть и посмотреть, сможете ли вы использовать Quartz2D для выполнения интересующих вас манипуляций, поскольку он, вероятно, будет лучше работать на аппаратной основе. Если нет, просто сделайте свой собственный для массива пикселей.