That is an interesting question. I would have said that a C pointer would be be an unsigned integer in size, so two bytes?
However the newer Arduino Mega boards use a Mega1280 chip that has 128KB of program memory, so I'm not sure how the GCC compiler handles memory pointers for larger then 64KB of program memory. Anyone know?
Lefty