On 2012.10.08 at 15:33:45 +0400, Dmitrii Kashin wrote: > Victor Wagner <[email protected]> writes: > > > On 2012.10.08 at 12:41:05 +0400, Dmitry E. Oboukhov wrote: > > > >> а вот если появилась необходимость саллоцировать такой объект > >> статически, как быть? > > > > Завести union. С первым вариантом struct something и вторым - массивом > > требуемой длины. (учитывая sizeof(struct something). > > Элегантность этого решения настолько впечатлила меня, что я даже > озаботился написанием примера. Вот он:
Кстати, тут пришло в голову еще одно решение - использовать alloca. Это не совсем статическая структура, а явное выделение памяти в стеке. Но тем не менее. > > Замечу, что в книге Кернигана и Ритчи "Язык программирования Си" > подобных фишек не описывалось. Виктор, Вы не подскажете, где можно > почитать о подобных трюках? Есть очень хорошая книга Питера ван дер Линдена "Expert C programming". Там, насколько я помню, было очень доходчиво написано, какими граблями чревато использование подобных трюков. -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

