アドレス渡し

関数にアドレスを渡すよ! 実行結果 in main, &val = 0x00007FFF5FBFF90F in main, val = 0 in func, *p = 0, p = 0x00007FFF5FBFF […]

引数と戻り値

今日は関数を作るよ! 実行結果 in main, val = 0 in func, val = 0, ret = 1 in func, val = 2, ret = 1 in func, val = 4, ret = 1 […]

配列とポインタ

今日は配列とポインタの関係だよ! 実行結果 abc, length = 3 str = 0x00007FFF5FBFF900 &(str[0]) = 0x00007FFF5FBFF900 p = 0x00007F […]

変数とポインタ

今日は入れ物の関係だよ! 実行結果 ch = 127 *p = 127 &ch = 0x00007FFF5FBFF90F p = 0x00007FFF5FBFF90F &p = 0x00007FFF5FB […]

配列?

これが連続した入れ物の正体だよ! 実行結果 &(array[0]) = 0x00007FFF5FBFF900 &(array[1]) = 0x00007FFF5FBFF901 &(array[2] […]

文字列を編集

こうすれば文字列の最後尾を指定できるよ。 実行結果 hello, length = 5 連続した入れ物に文字が入ってて、 最後尾に’\0’が入ったものが文字列だよ。 だとしたら、’\0 […]

文字列の初期化

こういう風に初期化してもいいんだよ。 実行結果 hello world, length = 11 簡単でしょ? コンパイラさんは、連続した入れ物に自動的に格納してくれるの。 文字数も、こうやって取得できちゃうよ。 でもね […]

変数のアドレスは?

変数の前に&を付ければ見れるよ。 実行結果 &val = 140734799804687(0x00007FFF5FBFF90F) ところで、入れ物と言えば、 住所専用じゃない入れ物も存在するよ。 そうい […]

ポインタのサイズは?

アドレスのサイズは、プラットフォーム依存だよー。 Intel Core 2 Duo, MacOS 10.6.5の場合はこんな感じ。 実行結果 sizeof(p) = 8 いきなり、プラットフォーム依存デス! なんて言われ […]

ポインタってなんですか?

アドレスを格納する変数ですよ。 実行結果 p = 100 じゃぁ、変数ってなんなの? という訳で、C言語では値を格納するために入れ物が存在するよ。 その入れ物の場所を、メモリ上の住所、 つまりアドレスって呼ぶの。 *pは […]