Что-то гложуть меня сомнения...
Такое впечатление, что x = {x} для физически существующих (т.е. допускающих регистрацию физич. приборами) множеств... если вдуматься. Для формальных (хоть аксиоматических, хоть наивных) множеств это, конечно, не так. А вот для физически существующих вещей, с которыми мы в рассуждениях оперируем как со множествами, найти разницу между x и {x} не удается. Каждый раз, когда мне кажется, что я ее нашел, дальнейшее размышление вынуждает признать, что что-нибудь не так.
Или меня глючит к ночи... ?
Или меня глючит к ночи... ?
no subject
Но мне тут другую интересную идею в ru_math подкинули... надо обмозговать, расскажу, если что-нибудь внятное получится сформулировать.
no subject
no subject
static int x[1];
static int x;
- так и так надо 4 байта...
нет, ну какой-нибудь компилятор может, конечно, поизвращаться, но в принципе то надо 4 байта в обоих случаях...
no subject
no subject
static char *x="123";
- то 8 байт: под указатель x и под 4 байта строки '1','2','3','\0'.
а если так:
static char x[]="123";
- то под указатель место не отводится. В 1-м случае x можно изменить (например, x = NULL), и тогда новый измененный адрес надо будет куда-то записать (нужны 4 байта). А во втором случае компилятор запретит такое присваивание, т.к. x - константа.
no subject
Занятно, что если подобные объекты аллоцировать динамически, то int x[1] оказывается-таки на 4 байта длиннее int x[0], и при этом int x[0] места занимает всё ещё порядочно... Но статически такой объект не создаётся :)
no subject
static int x[1] = 77;