[数字の場合]
int a = 5;
int *aP;       int型のアドレスを入れたい時はポインタもint
aP = &a;       を付けると先頭アドレス
printf("%d", *aP);  *を付けると値

[文字の場合]
char a[] = "Hello";
char *aP;       char型のアドレスを入れたい時はポインタもchar
aP = a;        変数名だけで先頭アドレス
printf("%s", *aP);  *を付けると値

ポインタは変数の値を間接参照(アドレスを指定)する時に使う。
変数名, *, & 等ごちゃごちゃ出てくるからややこしくなっているだけ