3 ポインター

3.1 コンピューターの構造

図 4: コンピューターの基本構成
\includegraphics[keepaspectratio, scale=1.0]{figure/comp_5_equipments.eps}

3.2 メモリーとデータ

3.3 ポインター


   1 #include <stdio.h>
   2 
   3 int main(void){
   4   int *p;
   5   int i=0x11223344;
   6 
   7   p=&i;
   8 
   9   printf("address i %p\n", &i);
  10   printf("address p %p\n", &p);
  11 
  12   printf("value i %0x\n", i);
  13   printf("value p %0x\n", (unsigned int)p);
  14 
  15   printf("value *p %0x\n", *p);
  16 
  17   return 0;
  18 }
\fbox{実行結果}
	address i 0xbffff6b0
	address p 0xbffff6b4
	value i 11223344
	value p bffff6b0
	value *p 11223344
この実行結果から、メモリーは図5のようになっていること が分かる。
図 5: リスト2のプログラム実行後のメモリーの内容
\includegraphics[keepaspectratio, scale=1.0]{figure/pointer_in_memory.eps}

ホームページ: Yamamoto's laboratory
著者: 山本昌志
yamamoto masashi
平成17年6月11日


no counter