Lot of people answered correctly I will just organize well here and put some Extra info which is missing in given Answers.
Const is keyword in C language also known as qualifier. Const can
applied to the declaration of any variable to specify that it's value
will not changed
const int a=3,b;
a=4;  // give error
b=5;  // give error as b is also const int 
you have to intialize while declaring itself as no way to assign
it afterwards.
How to read ?
just read from right to left every statement works smoothly
3 main things
type a.    p is ptr to const int
type b.    p is const ptr to int 
 
type c.    p is const ptr to const int
[Error]
if * comes before int 
two types
1. const int *
2. const const int *
we look first
Major type 1. const int*
ways to arrange 3 things at 3 places 3!=6
i. * at start
*const int p      [Error]
*int const p      [Error]
ii. const at start
const int *p      type a. p is ptr to const int 
const *int p      [Error]
iii. int at start
int const *p      type a. 
int * const p     type b. p is const ptr to int
Major type 2. const const int*
ways to arrange 4 things at 4 places in which 2 are alike 4!/2!=12
i. * at start
* int const const p     [Error]
* const int const p     [Error]
* const const int p     [Error]
 
ii. int at start
int const const *p      type a. p is ptr to const int
int const * const p     type c. p is const ptr to const int
int * const const p     type b. p is const ptr to int
iii. const at start
const const int *p     type a.
const const * int p    [Error]
const int const *p      type a.
const int * const p     type c.
const * int const p    [Error]
const * const int p    [Error]
squeezing all in one
type a. p is ptr to const int  (5)
const int *p
int const *p
int const const *p
const const int  *p
const int  const *p
type b.  p is const ptr to int (2)
int * const p
int * const const p;
type c. p is const ptr to const int (2)
int const * const p
const int * const p
just little calculation
1. const int * p        total arrangemets (6)   [Errors] (3)
2. const const int * p  total arrangemets (12)  [Errors] (6)
little Extra
int const * p,p2 ;
here p is ptr to const int  (type a.) 
but p2 is just const int please note that it is not ptr
int * const p,p2 ;
similarly 
here p is const ptr to int  (type b.)   
but p2 is just int not even cost int
int const * const p,p2 ;
here p is const ptr to const int  (type c.)
but p2 is just const int. 
Finished