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;
}