<<戻る

2004年7月14日

サンプル1

#include 
#define CHAR_SIZE 		(4)

void f1(char *a)
{
	printf("f1");
	printf("%s\n", a);
}

/* f3とは等価ではない。
 * char[4]型の配列型
 */
void f2(char b[][CHAR_SIZE])
{
	printf("f2");
	printf("%s\n", b);
}

void f3(char **c) {
	printf("f3");
	printf("%s\n", *c);
}

/* f3の引数と等価 */
void f4( char *d[]) {
	printf("f4");
	printf("%s\n", *d);
}

int main(int argc, char *argv[])
{

    /* char[]型 */
    char a[] = { "hello" };

    /* char[4]型の配列型(1次元配列?) */
    char b[][CHAR_SIZE] = {
		"bb1",
		"bb2",
		"bb3"
	};

    /* char[]型のポインタ型 */
    char *c[] = {
		"cc1",
		"cc2",
		"cc3",
		"cc4",
		"cc5",
		"cc6",
		"cc7",
		"cc88888"        
	};

    /* char[2]型の二次元配列 */
    char d[2][2] = {
		"d",
		"d"	
	};	
	f1(a);
	f2(b);
	f3(c);
	f4(c);
	f1(c[0]);
}