4月2日にやったこと。
苦しんで覚えるC言語(15.1〜15.5)
書いたサンプルコードたち
- 入力した文字列を配列strに代入して表示させる。0番目の要素アドレスを伝えるだけで文字列が表示。
#include <stdio.h> int main(void) { char str[256]; scanf("%s",&str[0]); /* 0番の要素のアドレス */ printf("%s\n",str); return 0; }
- 入力した文字列を配列strの6番目から代入して表示。6番目の要素アドレスを伝えるだけで文字列が表示。
#include <stdio.h> int main(void) { char str[256] = "DRAGON"; scanf("%s",&str[6]); /* 6番の要素アドレス */ printf("%s\n",str); return 0; }
- int型の変数iのアドレスをポインタ変数pに代入して表示
#include <stdio.h> int main(void) { int *p,i; printf("%p\n",&i); p = &i; printf("%p\n",p); return 0; }
- ポインタ変数に読み書きしたいメモリのアドレス(今回はi)を代入し、通常の変数モードに切り替えたポインタ変数に10を代入し(iとpのアドレスも)表示。
#include <stdio.h> int main(void) { int *p,i; p = &i; /* ポインタ変数モードの時に読み書きしたいメモリのアドレスを代入 */ *p = 10; /* 通常変数モードに切り替えたポインタ変数に代入 */ printf("*p = %d\n",*p); printf("*p = %p\n",p); printf("i = %d\n",i); printf("i = %p\n",&i); return 0; }