まとまった文章ではない愚痴とかはTwitterでフォロー!



Google+

2014年2月1日土曜日

【C言語】やっとc言語のポインタについて理解できた。気がします。


今まではそこまでメモリの中身までを扱うという頭でプログラムを組むレベルに達していなかったので、理解に苦しみましたが、何度も頭の中で反芻して、やっと理解できた気がします。

















ただ、実際のところ、どういうシーンで活用できるのかが分からないんですけどね。
ポインタとは、「方向指示器」または「windowsで言う、ショートカット」というたとえが自分の頭の中をすっきりさせてくれました。そしてc言語自体にはものすごい歴史があり、大昔の少ないメモリのなかでいかに効率的なデータの受け渡しをするかどうかの手段である事も理解しました。



    int *p ,i;
    i=1000//試しにi1000を代入してみる。
    printf(" i = %d\n",i); //純粋にiの変数を表示、ここではまだ1000
    p = &i; //iのアドレスをポインタ変数pに代入
    *p = 1//通常変数モードに切り替えたポインタ変数p1を代入。つまり「このポインタ変数に示されているアドレスにある数字(実質的にiの変数)を書き換える
    printf(" p= %p\n", p); //ポインタ変数xを表示、(iのアドレスを表示)
    printf(" i = %d\n",i); //純粋にiの変数を表示
    printf("*p= %d\n", *p); //通常変数モードxiのアドレスにある値を表示)


    return 0;


From ゆづ

0 件のコメント:

コメントを投稿