![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 19.10.2010
Сообщений: 49
|
![]()
Здравствуйте!
Изучаю си. Определил объединение, элементами которого являются структура и строка. Структура в памяти занимает 28 байт, следовательно и на строку отводится такое же кол-во памяти. Как мне заполнить (проинициализировать) строку символами на всю длину в 28 байт? Алгоритм не прошу ![]() |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 24.04.2012
Сообщений: 300
|
![]() Код:
Помог? Оставляем отзыв =)
|
![]() |
![]() |
![]() |
#3 | |
Пользователь
Регистрация: 19.10.2010
Сообщений: 49
|
![]() Цитата:
Код:
|
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 24.04.2012
Сообщений: 300
|
![]()
char* string - это не строка, а указатель и его размер 4 байта, и указывать он может на строку любой длины.
Не понятен смысл такого union'a.
Помог? Оставляем отзыв =)
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 24.04.2012
Сообщений: 300
|
![]() Код:
Помог? Оставляем отзыв =)
|
![]() |
![]() |
![]() |
#6 | |
Пользователь
Регистрация: 19.10.2010
Сообщений: 49
|
![]() Цитата:
Код:
Код:
Задача стоит такая, чтобы взять строку и инициализировать ее на длину структуры символом 1, например. Чтобы строка сразу имела размер структуры, мне поставлено условие поместить строку и структуру в объединение. Я неправильно объявляю строку? А если так Код:
|
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 24.04.2012
Сообщений: 300
|
![]()
Как-то так?
Код:
Помог? Оставляем отзыв =)
|
![]() |
![]() |
![]() |
#8 | |
Пользователь
Регистрация: 19.10.2010
Сообщений: 49
|
![]() Цитата:
06.c:12: error: ‘entry’ undeclared here (not in a function) гцц не понимает строку char str[sizeof(entry)]; И зачем нам так явно указывать размер строки, если все элементы объединения имеют одинаковую длину - максимальную длину из элементов? |
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 19.10.2010
Сообщений: 49
|
![]()
Если объявить строку в объединении просто
Код:
error: flexible array member in union Поэтому я думал использовать указатель на строку |
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 19.10.2010
Сообщений: 49
|
![]()
Додумался как объявить строку!
Код:
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
выделить память под строку и записать в нее данные | marenko.lilia | Помощь студентам | 3 | 22.08.2014 11:31 |
Как определить метод, добавивший строку в память | bigvova | Общие вопросы Delphi | 4 | 24.11.2013 22:08 |
Заполнить следующую строку | greensage | Microsoft Office Excel | 5 | 24.05.2013 12:21 |
Ввести строку в память динамически. | _PROGRAMM_ | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 8 | 12.03.2012 12:59 |
не соображу пока как правиьно зациклить | rdbykjhl | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 10.02.2011 19:09 |