Что-то гложуть меня сомнения...
May. 4th, 2006 11:06 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Такое впечатление, что x = {x} для физически существующих (т.е. допускающих регистрацию физич. приборами) множеств... если вдуматься. Для формальных (хоть аксиоматических, хоть наивных) множеств это, конечно, не так. А вот для физически существующих вещей, с которыми мы в рассуждениях оперируем как со множествами, найти разницу между x и {x} не удается. Каждый раз, когда мне кажется, что я ее нашел, дальнейшее размышление вынуждает признать, что что-нибудь не так.
Или меня глючит к ночи... ?
Или меня глючит к ночи... ?
no subject
Date: 2006-05-05 10:26 pm (UTC)no subject
Date: 2006-05-06 08:31 am (UTC)static char *x="123";
- то 8 байт: под указатель x и под 4 байта строки '1','2','3','\0'.
а если так:
static char x[]="123";
- то под указатель место не отводится. В 1-м случае x можно изменить (например, x = NULL), и тогда новый измененный адрес надо будет куда-то записать (нужны 4 байта). А во втором случае компилятор запретит такое присваивание, т.к. x - константа.
no subject
Date: 2006-05-08 05:54 am (UTC)Занятно, что если подобные объекты аллоцировать динамически, то int x[1] оказывается-таки на 4 байта длиннее int x[0], и при этом int x[0] места занимает всё ещё порядочно... Но статически такой объект не создаётся :)
no subject
Date: 2006-05-08 07:04 am (UTC)static int x[1] = 77;