By a 'program counter' you probably meant 'Instruction Pointer'. These both registers are dedicated areas of CPU internal memory. Instruction Pointer, or IP, points at the address of the instruction...
The function of program counter register is to hold the address of the instruction that is being executed and (later) the address of the instruction that will be executed next.