では次にCの鬼門ポインタについて、簡単に説明します。

#include <stdio.h>

int main()
{
int *a,b = 10;
a = &b;
printf("アドレスに格納されている値%d aのアドレス%d\n",*a,a);
return 0;
}

上のソースコードでは、「a」のアドレスを直接指し示す
ポインタを「*」で宣言しています。
その「a」のアドレスに直接「b」の値を「&」を使って代入しています。
この「&」演算子を使えば、ポインタ宣言をしている
変数のアドレスに直接代入できるわけです。
最初、僕も混乱しましたが、慣れれば大丈夫です。