Accuracy usually depends on the move, unless the Pokemon is hit with an accuracy reducing move, such as Sand-Attack/ Flash/ Smokescreen, or the opponent uses an evasion increasing move, such as Double Team.
Sand-Attack lowers the opponent's accuracy by one stage each time it's used, and can be used six times before the accuracy can go no lower. Moves such as Swift, Aerial Ace and Faint Attack will not be affected.
The initial (accuracy) value at the start of any battle is 100%.
So if you're asking about a Pokemon's individual accuracy, it is always at 100% at the beginning of any battle, and moves that have 100% accuracy (e.g. Surf, Scald, Pyschic etc.), will always hit unless an accuracy lowering move is used or an evasion increasing move is used.
Compoundeyes is an ability that raises the accuracy of all moves by 30%, e.g. Thunder's accuracy is now at 91% when used by a Pokemon with this ability, rather than 70%. It obviously only raises the moves that have an accuracy lower than 100%, since you cannot get higher than that.
Incidentally, evasion inducing moves such as Double Team are banned from competitive play (you can still obviously use them in game).
Bulbapedia's entry on accuracy
Bulbapedia's entry on stats
Bulbapedia's entry on Compound Eyes