ポインターですね。他の言語では見られない概念ですのでそれほど理解されていなくても問題ないかと思いますがご説明します。
int num=10;
int *numpointer;
numpointer=#
上記のプログラムで、numpointerという変数がポインタです。numという10の値が入った変数を3行目で、&をつけてポインタに変換してnumpointerに代入しています。
コンピューターはCPUにメモリからデータを受け渡しして計算する計算機ですよね。ポインタとはこのメモリのどの位置に(この事例では10という値が入っているメモリの位置)データが入っているかを示している住所みたいな物です。numponterをそのまま出力すると
0022FF10
のような値になります。これはメモリ上の住所を示しています
ポインタの住所にある値を参照するには?
それでは、このポインタに入っている値を参照するにはどうしたら良いのでしょうか?下記のようなプログラムでポインタに入っている値そのものを書き換える事が出来ます
*numpointer=5;
それでは、上記のプログラムを追加した後、numという変数には現在どのような値が入っているでしょうか?答えは5です