|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
12.03.2015, 11:57 | #1 |
Пользователь
Регистрация: 19.10.2010
Сообщений: 49
|
Как заполнить строку, пока не кончится память
Здравствуйте!
Изучаю си. Определил объединение, элементами которого являются структура и строка. Структура в памяти занимает 28 байт, следовательно и на строку отводится такое же кол-во памяти. Как мне заполнить (проинициализировать) строку символами на всю длину в 28 байт? Алгоритм не прошу Прошу направить мысли |
12.03.2015, 12:15 | #2 |
Форумчанин
Регистрация: 24.04.2012
Сообщений: 300
|
Код:
Помог? Оставляем отзыв =)
|
12.03.2015, 12:24 | #3 | |
Пользователь
Регистрация: 19.10.2010
Сообщений: 49
|
Цитата:
Код:
|
|
12.03.2015, 12:52 | #4 |
Форумчанин
Регистрация: 24.04.2012
Сообщений: 300
|
char* string - это не строка, а указатель и его размер 4 байта, и указывать он может на строку любой длины.
Не понятен смысл такого union'a.
Помог? Оставляем отзыв =)
|
12.03.2015, 12:53 | #5 |
Форумчанин
Регистрация: 24.04.2012
Сообщений: 300
|
Код:
Помог? Оставляем отзыв =)
|
12.03.2015, 13:07 | #6 | |
Пользователь
Регистрация: 19.10.2010
Сообщений: 49
|
Цитата:
Код:
Код:
Задача стоит такая, чтобы взять строку и инициализировать ее на длину структуры символом 1, например. Чтобы строка сразу имела размер структуры, мне поставлено условие поместить строку и структуру в объединение. Я неправильно объявляю строку? А если так Код:
|
|
12.03.2015, 13:15 | #7 |
Форумчанин
Регистрация: 24.04.2012
Сообщений: 300
|
Как-то так?
Код:
Помог? Оставляем отзыв =)
|
12.03.2015, 13:31 | #8 | |
Пользователь
Регистрация: 19.10.2010
Сообщений: 49
|
Цитата:
06.c:12: error: ‘entry’ undeclared here (not in a function) гцц не понимает строку char str[sizeof(entry)]; И зачем нам так явно указывать размер строки, если все элементы объединения имеют одинаковую длину - максимальную длину из элементов? |
|
12.03.2015, 13:36 | #9 |
Пользователь
Регистрация: 19.10.2010
Сообщений: 49
|
Если объявить строку в объединении просто
Код:
error: flexible array member in union Поэтому я думал использовать указатель на строку |
12.03.2015, 13:48 | #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 |