2004年7月14日
#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]); }