gcc-avr ATmega16/32 Programming

I have just entered into AVR MCU programming using gcc-avr, but when I see sample programs I am not able to make out much from the code:

DDRD |= (1 << PD7);
TCCR2 = (1 << WGM21) | (0 << WGM20);
TCCR2 |= (1 << COM20);
TCCR2 |= (6 << CS20);

I do not see also any declarations variables : DDRD, PD7, TCCR2, WGM21, WGM20, COM20, CS20, but they are directly used. Please let me know how I can know all pre-defined variables and its usage? It becomes very difficult in understanding the code without knowing the same.

Thanks in advance.

You need to read the datasheet from Atmel for every MCU. http://www.atmel.com/images/atmel-8271-8-bit-avr-microcontroller-atmega48a-48pa-88a-88pa-168a-168pa-328-328p_datasheet.pdf

Are not simple variables, but internal registers of MCU. http://arduino.cc/en/Reference/PortManipulation