Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   Варианты присвоения значений структуре (не программист). (http://forums.kuban.ru/f1040/varianty_prisvoeniya_znachenij_strukture_ne_programmist-5318957.html)

smaharbA 25.01.2014 19:08

Варианты присвоения значений структуре (не программист).
 
Имеем си

void
func (struct x *y)
**
struct a b = ** .a = y, .b = y->x, .c = 0 **;
...
**
Привидите кому не в лом аналоги записи.

Управление торговлей 11 25.01.2014 22:12

[url]http://programna1c.narod.ru/docs/Samples8/UnivColl2.html[/url]

smaharbA 26.01.2014 05:57

не смешно

Jimbo 26.01.2014 08:12

аналоги чего привести ? С символами ничего не напутал ?
Описание типа X структуры где то явно выше. Переменная-параметр У -это указатель на структуру.

smaharbA 26.01.2014 08:24

а что тут путать ?

все предельно ясно, только форум сожрал немного

вместо двух звездей фигурная скобка

Управление торговлей 11 26.01.2014 09:07

2-smaharbA >в чем проблема? во второй строчке подходящий пример:
Оппонент = Новый Структура ("Фамилия, Имя, Отчество, Возраст", "Иванов", "Иван", "Иванович", 7);

smaharbA 26.01.2014 09:11

Аналог не на 1с, а аналог на том же Си

аналог имеющейся записи инициализации, через присоение, через мемкопи и т.д.

Jimbo 27.01.2014 09:45

насколько понял есть 2 типа - struct x и struct a.
struct a ** struct a, не очень ясен тип b (смотреть тип поле х из struct x ???), int c**
struct a b;
b.a = y;
b.b = y->x; // ( или типа структура в структуре ?)
b.c = 0;

smaharbA 27.01.2014 12:12

b.a и y - структура
y->x целочисленное


Т.е. достаточно присвоения, без явного выделения памяти и копирования структуры "y" в "b.b".

Jimbo 27.01.2014 20:45

что за явное/неявное ? -> это не копирование. Приведи задание полностью

smaharbA 27.01.2014 20:57

задание в сабже полное
а по -> - Вы где узрели, то это копирование ?
Явное - это когда под структуру в коде выделяем память, неявное - это когда компилятор сам справится. (упрощено)

smaharbA 27.01.2014 20:59

+ если, чо - это не задание, а рабочий код, но в системе старый компилятор и по тому в таком синтаксисе принимает только константы иначе сегфаульт.


Текущее время: 03:30. Часовой пояс GMT +3.