c语言:int* a: int* b=&a: 对吗

在c语言指针中我遇到下面的问题:
下面的代码一和代码二都是正确的吗?如果都是对的,意义有什么不同?

//代码一
int* a: 
int* b=&a:
//代码二
int* a: 
int** b=&a:

首先 问题是  指针需要初始化  a指针变量没有初始化 
  然后假如你已经初始化了int *a   比如已经int i=10;int*a=&i;  
接下来我逐行解答    代码1
  2.  定义了个整型指针型变量a指向 i的地址 解引用就是  10  
3. 定义了个整型指针变量b 取出变量a的地址放到了变量b      b是一级指针他只能解一级引用为指针a的地址   无法解二级引用
代码2
5. 定义指针a
6.定义二级指针b指向a的地址 b存放a变量的地址   a变量自己指向个地址  解一级引用就是 a的地址 解二级引用就是a地址存放的值