pointers function pointers for loops arrays c abi