Report#7

  • 第2回試験「問供Д櫂ぅ鵐燭肇▲疋譽后廚茲蝓各問題ごとにブロック文を用いて一つの解答確認プログラムとして作成し考察せよ。併せて、構造体・共有体についても考察せよ。

[] ポインタとアドレス 解答確認例

問題例

Q.次の文を実行した後の*p、*q、**qの値を示せ。
  但し、*(100)=200 -> アドレス100の値=200
     *(200)=300 -> アドレス200の値=300 とする。
    int *p, **q;
    p = 100;
    q = 100;

解答確認プログラム例と実行結果

#include <stdio.h>

int main(){

/* Q11 */
  int a=200, b=300, *p, **q, *q1;

  printf("アドレス&aの値 => ", &a);
  printf(" a=%8d\n", a);
  printf("アドレス&b     => ", &b);
  printf("&b=%08x  :アドレス200の代り\n", &b);
  printf("アドレス&bの値 => ", &b);
  printf(" b=%8d\n", b);

  p  = &a;
  q1 = &b;
  q  = &q1;
  printf("*p=%d\n", *p);
  printf("*q=%08x  :アドレス200の代りと同じ!\n", *q);
  printf("**q=%d\n", **q);
  puts("omake");
  printf(" q=%08x  :アドレス100と考える\n", q);

  return(0);
}

/***** Result
アドレス&aの値 =>  a=     200
アドレス&b     => &b=0022ff88  :アドレス200の代り
アドレス&bの値 =>  b=     300
*p=200
*q=0022ff88  :アドレス200の代りと同じ!
**q=300
omake
 q=0022ff7c  :アドレス100と考える
*************/


トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2009-07-02 (木) 08:17:08 (3703d)