4.6 KiB
4.6 KiB
title | author | date | wordtwit_post_info | categories | |||
---|---|---|---|---|---|---|---|
ポインタについて | kazu634 | 1969-12-31 |
|
|
下の例を考えてみる。
#include <stdio.h> #define ARRAY_SIZE 10 char array[ARRAY_SIZE + 1] = "0123456789"; int main(){ int index; printf ("&array[index] (array+index) array[index]\n"); for (index = ;index < ARRAY_SIZE;index++) { printf ("0x%-10p 0x%-10p 0x%x\n", &array[index], (array + index), array[index]); } return(); }
この「(array + index)」の部分は自動的に「&array[0]」として解釈される。配列の先頭アドレスに足し算をすると、足した数分だけ要素を移動する。というわけで、「&array[index]」と「(array + index)」は等しい値 = ポインタになる。
- 作者: Steve Oualline,望月康司(監訳),谷口功
- 出版社/メーカー: オライリー・ジャパン
- 発売日: 1998/06/15
- メディア: 大型本
- 購入: 7人 クリック: 158回
- この商品を含むブログ (45件) を見る