mastodon.zunda.ninja is one of the many independent Mastodon servers you can use to participate in the fediverse.
Zundon is a single user instance as home of @zundan as well as a test bed for changes of the code.

Administered by:

Server stats:

1
active users

空の配列に代入できるんだ…

$ cat main.c
int main(void)
{
int array[] = {};
array[0] = 42;
return 0;
}
$ gcc -Wall main.c && ./a.out; echo $?
0

1要素分は確保されるのかねえ

$ cat main.c
<stdlib.h>
<stdio.h>

int main(void)
{
char empty[] = {};
char single[] = { 0 };
printf("single:\t%p\nempty:\t%p\n", single, empty);
return 0;
}
$ gcc -Wall main.c && ./a.out
single: 0x16fb6b4ba
empty: 0x16fb6b4bb

ひとさまの配列にちょっかいは出せる

$ cat main.c
<stdlib.h>
<stdio.h>

int main(void)
{
char empty[] = {};
char single[] = { 0 };
printf("single[0]: %d\n", single[0]);
empty[-1] = 42;
printf("single[0]: %d\n", single[0]);
return 0;
}
$ gcc -Wall main.c && ./a.out
main.c:9:3: warning: array index -1 is before the beginning of the array [-Warray-bounds]
empty[-1] = 42;
^ ~~
main.c:6:3: note: array 'empty' declared here
char empty[] = {};
^
1 warning generated.
single[0]: 0
single[0]: 42

空の配列なのに変化する要素w (ビールそろそろ冷えたかな ((まだでしょ

$ cat main.c
<stdlib.h>
<stdio.h>

int main(void)
{
char empty[] = {};
char single[] = { 0 };
printf("empty[0]: %d\n", empty[0]);
single[1] = 42;
printf("empty[0]: %d\n", empty[0]);
return 0;
}
$ gcc -Wall main.c && ./a.out
main.c:9:3: warning: array index 1 is past the end of the array (which contains 1 element) [-Warray-bounds]
single[1] = 42;
^ ~
main.c:7:3: note: array 'single' declared here
char single[] = { 0 };
^
1 warning generated.
empty[0]: 4
empty[0]: 42

zunda

なおいまM1 MacBook Airちゃんの前に居るのでgccに擬態したclangさんです

$ gcc --version
Apple clang version 14.0.3 (clang-1403.0.22.14.1)
Target: arm64-apple-darwin22.4.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin