#include <stdio.h>

int main( void )
{
	char str[] = "kitty on your lap";
	char* a = NULL;
	
	/* char* 型のポインタ、というイメージ */
	char* *b = NULL;

	/* char* と char[] はシンタックスシュガー  */
	a = str;
	b = &a;
	
	/* 出力 */
	printf( "%s\n%s\n%s\n", str, a, *b );
	
	/* char* と char[] は同じ（シンタックスシュガー）
	* -> char* 型は一次元配列として表現できる
 	*/
	printf( "%c\n", str[2] );
	printf( "%c\n", a[2] );
	
	/* 上と同様に
	* char** と char[][] は同じ（シンタックスシュガー）
	* -> char** は二次元配列で表現できる
	*/
	printf( "%c\n", b[0][2] );
	
	/*
	* たとえば、変数xがあったとして
	* 一次元配列の先頭アドレスは *x のように表される
	* 二次元配列の最初の要素の先頭アドレスは ( *x )[ 0 ] と表される
	*/
	printf( "%c\n", ( *b )[2] );
	
	return 0;
}
