RIGHT:[[ProgI]]
*Report#7 ポインタとアドレス [#bf519867]
-下記の資料「問題と解答」の「II ポインタとアドレス」より、各問題ごとにブロック文を用いて一つの解答確認プログラムとして作成し考察せよ。
--&ref(2009TestQA.pdf,,問題と解答);
----
**[] ポインタとアドレス 解答確認例 [#q3a8914b]
***問題例 [#o3a86157]
 Q07.次の文を実行した後の*p、*q、**qの値を示せ。
   但し、*(100)=200 -> アドレス100の値=200
      *(200)=300 -> アドレス200の値=300 とする。
     int *p, **q;
     p = 100;
     q = 100;
***解答確認プログラム例と実行結果 [#wf059505]
 #include <stdio.h>
 
 int main(){
 
 /* Q07 */
   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と考える
 *************/

----
&size(24){''ヒント''};
-&ref(point01a.c,,ヒント#1);
----
CENTER:[[Report#6>ProgI/Report-No.6]]<==>[[Report#8>ProgI/Report-No.8]]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS