配列(array)

配列

 配列の定義

要素の型 配列名[要素の数];

 配列の初期化

要素の型 配列名[要素の数] = { 要素0, 要素1,,, };
char 配列名[要素の数] = 文字列定数;

本当は
 char	s[4] = { 'a', 'b', 'c', '\0' };
 char	s[] = { 'a', 'b', 'c', '\0' };
の簡略形である!

 配列の参照

配列名[インデックス]

2次元以上の配列

要素の型 配列名[高次元要素の数]…[低次元要素の数];

配列とポインタ

文字列とポインタ

文字列を1文字ずつ表示してみよう

/* Hello World!! と画面に表示する */
#include <stdio.h>
#include <string.h>

main()
{
	char	s[20] = "Hello World!!";
	char	*p;
	int	i, j;

	printf("printfで文字列を表示\n");
	printf("%s\n", s );

	printf("配列バージョン\n");
	j = strlen(s);
	for( i = 0; i < j; i = i + 1 )
		printf("%c", s[i] );
	printf("\n");

	printf("ポインタバージョン\n");
	p = s;
	while( *p != '\0')
	{
		printf("%c", *p );
		p = p + 1;
	}
	printf("\n");
}
/* end of aandp.c */
  1. 同じであることを確かめてみよう!
/* Hello World!! と画面に表示する */
#include <stdio.h>
#include <string.h>

main()
{
	char	s[20] = "Hello World!!";
	char	*p;
	int	i, j;

	printf("printfで文字列を表示\n");
	printf("%s\n", s );

	printf("配列バージョン\n");
	for( i = 0, j = strlen(s); i < j; i++ )
		printf("%c", s[i] );
	printf("\n");

	printf("ポインタバージョン\n");
	for( p = s; *p; p++ )
		printf("%c", *p );
	printf("\n");
}
/* end of aandp1.c */

ポインタの配列

 コマンドラインの引数