Re: а кто C хорошо знает?
On 2012.10.08 at 15:33:45 +0400, Dmitrii Kashin wrote:
> Victor Wagner <vitus@wagner.pp.ru> writes:
>
> > On 2012.10.08 at 12:41:05 +0400, Dmitry E. Oboukhov wrote:
> >
> >> а вот если появилась необходимость саллоцировать такой объект
> >> статически, как быть?
> >
> > Завести union. С первым вариантом struct something и вторым - массивом
> > требуемой длины. (учитывая sizeof(struct something).
>
> Элегантность этого решения настолько впечатлила меня, что я даже
> озаботился написанием примера. Вот он:
Кстати, тут пришло в голову еще одно решение - использовать alloca.
Это не совсем статическая структура, а явное выделение памяти в стеке.
Но тем не менее.
>
> Замечу, что в книге Кернигана и Ритчи "Язык программирования Си"
> подобных фишек не описывалось. Виктор, Вы не подскажете, где можно
> почитать о подобных трюках?
Есть очень хорошая книга Питера ван дер Линдена "Expert C programming".
Там, насколько я помню, было очень доходчиво написано, какими граблями
чревато использование подобных трюков.
Reply to: