computerの日記

Cisco,SHELL,C,Qt,C++,Linux,ネットワーク,Windows Scriptなどの発言です

新人さんにポインタを教える

新人さん、said,

>int *x と *x の違いがよくわからない

Me said,

int* x の方が、理解しやすいと思います。
普通はあまりやらないみたいですけど。

実際に、プログラムを作って動かしてみると良いです。
例えば、以下のように。

1 #include <stdio.h>
2
3 int main() {
4 int* x;
5 int y;
6 int *y2;
7 int **z;
8 int ***z2;
9 y = 123;
10 y2 = &y;
11 x = y2;
12 z = &x;
13 z2 = &z;
14 printf ("%d\n",*x);
15 printf ("%d\n",y);
16 printf ("%d\n",*y2);
17 printf ("%d\n",**z);
18 printf ("%d\n",***z2);
19 return 0;
20 }