Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.09.2013, 17:02   #1
proef
Форумчанин
 
Регистрация: 08.06.2013
Сообщений: 133
По умолчанию СИ как динамически определять сколько нужно байт переменной ?

как динамически определять сколько нужно байт переменной ?
например : ввели какое-то значение в переменную,
выделить столько сколько занимает эта переменная .

Последний раз редактировалось proef; 10.09.2013 в 17:13.
proef вне форума Ответить с цитированием
Старый 10.09.2013, 17:20   #2
proef
Форумчанин
 
Регистрация: 08.06.2013
Сообщений: 133
По умолчанию

наверно как-то с malloc
proef вне форума Ответить с цитированием
Старый 10.09.2013, 17:24   #3
proef
Форумчанин
 
Регистрация: 08.06.2013
Сообщений: 133
По умолчанию

sizeof выделяет очень много ,не решает((

Последний раз редактировалось proef; 10.09.2013 в 18:15.
proef вне форума Ответить с цитированием
Старый 10.09.2013, 19:18   #4
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Си - язык строго типизированный. Для определенных значений переменных свой тип, соответственно и байт будет выделяться в зависимости от типа и процессора. Может я просто не так понял Ваш вопрос.
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 10.09.2013, 19:23   #5
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Ну или malloc или calloc..
Код:
int n = 3;

p = malloc (sizeof n);
Poma][a вне форума Ответить с цитированием
Старый 10.09.2013, 21:43   #6
proef
Форумчанин
 
Регистрация: 08.06.2013
Сообщений: 133
По умолчанию

а как быть с char?
proef вне форума Ответить с цитированием
Старый 10.09.2013, 21:44   #7
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Точно так же
Poma][a вне форума Ответить с цитированием
Старый 10.09.2013, 21:46   #8
proef
Форумчанин
 
Регистрация: 08.06.2013
Сообщений: 133
По умолчанию

то- есть нужна переменная которая будет с очень большой вместительностью
Код:

char s[] = "аорпывдроплдыворпдлывоарпдлывродвпры";
char *e  = (char*)malloc(sizeof(s));
так?
proef вне форума Ответить с цитированием
Старый 10.09.2013, 22:00   #9
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Вроде так..
Poma][a вне форума Ответить с цитированием
Старый 10.09.2013, 22:22   #10
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Будьте осторожны:
Код:
char s[] = "12345";
char *e  = (char*)malloc(sizeof(s)); //6 байт
char *w  = (char*)malloc(sizeof(e)); //4 байта - размер указателя
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как определять тип данных sversus Общие вопросы C/C++ 5 04.02.2013 19:02
Сколько байт занимают переменные, используемые в программе Эндрю Помощь студентам 2 10.05.2011 13:36
Программа которая будет определять, сколько всего треугольников в заданной фигуре, Княжна Татьяна Помощь студентам 0 20.12.2009 18:37
Дан байт, нужно получить его предст. (assembler) JaZZ_XVIII Помощь студентам 2 10.06.2009 12:55
Имя переменной как переменная. Как получить доступ к такой переменной? Denni Microsoft Office Access 8 02.04.2009 10:06