The "C" on an NFL player's jersey indicates that he is a team captain. While teams have internally named team captains for years, the league started officially recognizing them in 2007, allowing up to six players per team to wear the captain's "C" on their jerseys.
The "C" patch also includes a series of stars underneath the letter that indicates the number of years a player has held the position. For each additional year of service as a captain, one star is filled in gold.
Some teams choose not to use the NFL's system, so their players don't wear the "C" patch. These teams appoint their own captains using an internal system, such as naming different captains on a week-to-week basis.