このブログは、旧・はてなダイアリー「檜山正幸のキマイラ飼育記 メモ編」(http://d.hatena.ne.jp/m-hiyama-memo/)のデータを移行・保存したものであり、今後(2019年1月以降)更新の予定はありません。

今後の更新は、新しいブログ http://m-hiyama-memo.hatenablog.com/ で行います。

配列は意外なところもある


#include

int a[] = {1, 2, 3};
char b[] = {1, 2, 3};

main()
{
printf("a = %x, &a = %x, sizeof(a) = %d\n", a, &a, sizeof(a));
printf("a[0] = %x, &a[0] = %x, sizeof(a[0]) = %d\n", a[0], &a[0], sizeof(a[0]));
printf("b = %x, &b = %x, sizeof(b) = %d\n", b, &b, sizeof(b));
printf("b[0] = %x, &b[0] = %x, sizeof(b[0]) = %d\n", b[0], &b[0], sizeof(b[0]));

int *p; char *q;
printf("p = a; q = b;\n");
p = a; q = b;
printf("p = %x, &p = %x, sizeof(p) = %d\n", p, &p, sizeof(p));
printf("p[0] = %x, &p[0] = %x, sizeof(p[0]) = %d\n", p[0], &p[0], sizeof(p[0]));
printf("q = %x, &q = %x, sizeof(q) = %d\n", q, &q, sizeof(q));
printf("q[0] = %x, &q[0] = %x, sizeof(q[0]) = %d\n", q[0], &q[0], sizeof(q[0]));
}


#include
#include

char a[][5] = {
"abcd",
"uvwx"
};
char *b[] = {
"abcd",
"uvwx"
};

char *s = "abcdef";

main()
{
printf("a[0]= %s, a[1] = %s\n", a[0], a[1]);
printf("b[0]= %s, b[1] = %s\n", b[0], b[1]);
printf("sizeof(a) = %d, sizeof(b) = %d\n", sizeof(a), sizeof(b));
printf("sizeof(a[0]) = %d, sizeof(b[0]) = %d\n", sizeof(a[0]), sizeof(b[0]));
printf("strlen(a[0]) = %d, strlen(b[0]) = %d\n", strlen(a[0]), strlen(b[0]));
printf("sizeof(s) = %d, strlen(s) = %d\n", sizeof(s), strlen(s));
}