address c include stdio h int main char

  • Slides: 34
Download presentation

練習1 /* address. c アドレス表示実験 #include <stdio. h> int main() { /*変数宣言*/ char a;

練習1 /* address. c アドレス表示実験 #include <stdio. h> int main() { /*変数宣言*/ char a; char b; int i; int j; double x; double y; /*代入*/ a='A'; b='B'; i=1; j=2; x=0. 1; y=0. 2; /* 次へ続く */ */ 12

printf("char 型の変数のアドレスn"); printf("a: %p b: %p n", &a, &b); printf("char型の変数の中身n"); printf("a: %c b: %c

printf("char 型の変数のアドレスn"); printf("a: %p b: %p n", &a, &b); printf("char型の変数の中身n"); printf("a: %c b: %c n", a, b); printf("n"); printf("int型の変数のアドレスn"); printf("i: %p j: %p n", &i, &j); printf("int型の変数の中身n"); printf("i: %d j: %d n", i, j); printf("n"); } printf("double型の変数のアドレスn"); printf("x: %p n", &x, &y); printf("double型の変数の中身n"); printf("x: %f y: %f n", x, y); return 0; 13

char a; moji='A'; 中 身 値 ア ド レ ス ( ) イメージ 変

char a; moji='A'; 中 身 値 ア ド レ ス ( ) イメージ 変 数 名 char *p; p 0 x 00 ffa 900 moji 0 x 00 ffa 900 p=(&moji); moji *p 0 x 00 ffa 900 p 19

複数の別名 double x=0. 1; double *q; double *r; q=&x; r=&x; *r=0. 2; ア ド

複数の別名 double x=0. 1; double *q; double *r; q=&x; r=&x; *r=0. 2; ア ド レ ス q 0 x 00 ffbff 0 変 数 名 メ モ リ x r *r=0. 2; x *q *r 0 x 00 ffbff 0 x *r *q 0 x 00 ffbff 0 21

/* 続き ポインタの設定*/ p=(&data 2); /*変数の中身と変数アドレスの表示*/ printf(“関数function内での表示n”); printf(“&data 1=%10 p”, &data 1); printf(“ data

/* 続き ポインタの設定*/ p=(&data 2); /*変数の中身と変数アドレスの表示*/ printf(“関数function内での表示n”); printf(“&data 1=%10 p”, &data 1); printf(“ data 1=%2 dn”, data 1); printf(“&data 2=%10 p”, &data 2); printf(“ data 2=%2 dn”, data 2); printf(“ &p=%10 p”, &p); printf(“ p=%10 p”, p); printf(“ *p=%2 dnn”, *p); return; } /*function関数終了*/ /*全プログラム(print_address. c)終了*/ 33

実行例 $. /print_address < print_address. in main関数内での表示 関数function呼び出し前 &data 1=0 xbfba 3160 data 1=

実行例 $. /print_address < print_address. in main関数内での表示 関数function呼び出し前 &data 1=0 xbfba 3160 data 1= 3 &data 2=0 xbfba 315 c data 2= 4 &p=0 xbfba 3158 p=0 xbfba 315 c *p=4 function 実行中 関数function内での表示 &data 1=0 xbfba 3140 data 1= 3 &data 2=0 xbfba 3134 data 2=-1208557580 &p=0 xbfba 3130 p=0 xbfba 3134 *p =-1208557580 main関数内での表示 関数function呼び出し後 &data 1=0 xbfba 3160 data 1= 3 &data 2=0 xbfba 315 c data 2= 4 &p=0 xbfba 3158 p=0 xbfba 315 c *p=4 $ 34