>>245
> ポインタとアドレスの違いがわからない

ポインタ = アドレス(ポイント)を指すという意味
ポインタ変数 = (他の変数などの)アドレスを指す変数
アドレス = メモリ上にある変数の場所を示す番地のこと

char ch;  // これはchar型変数のch。変数chのアドレスは&chで表す。
char* pch; // 他のchar型変数のアドレスを指すポインタ変数pch。
       // これに他のchar型変数のアドレスを代入してから使う。
       // 例
       //  pch = &ch;
       //
       // アドレス代入後にポインタ先の値を*pchとして参照する。
       // 例
       //  *pch = '\n';
       //
       // あとは*pchをchar型変数chのように扱える。
       //

int val;   // int型変数のval。変数valのアドレスは&valで表す。
int* pval;  // 他のint型変数のアドレスを指すポインタ変数pval。
       // これに他のint型変数のアドレスを代入してから使う。
       // 例
       //  pval = &val;
       //
       // アドレス代入後にポインタ先の値を*pvalとして参照する。
       // 例
       //  *pval = 65535;
       //
       // あとは*pvalをint型変数valのように扱える。
       //