Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Какая максимальная длинна строки в Си?

Голубой Знаток (306), закрыт 7 лет назад
Лучший ответ
Sergey Гуру (2697) 7 лет назад
В языке C на длину строки нет ограничений кроме адресной арифметики. Т. е. если вы используете 32 битные указатели, то максимальная длина строки 4 Гб. Но реально она ограничивается максимальным блоком памяти который вы можете выделить. В вин32 это 2Гб. Но необходимо помнить о фрагментации памяти и т. п. Т. е. сколько вам удастся выделить памяти, такой длины и сможете создать строку.
Остальные ответы
lancel lancel Мудрец (16362) 7 лет назад
Ну это уже можно спокойно найти в гугле, хотя в гугле такая длинна буквально не ограниченно...
ГолубойЗнаток (306) 7 лет назад
а к чему тогда диапазон значений -128 ...127 ?
Natan Профи (787) 7 лет назад
string s;
int len = s.length();
....
Максимальная длинна строки, которую в принципе можно запихнуть в эту переменную, ограничивается Вашей оперативной памятью.
ГолубойЗнаток (306) 7 лет назад
что еще за string s ?
Это из C++.
ГолубойЗнаток (306) 7 лет назад
то-есть если у меня 256ОЗУ - то 268 435 456 символов всего лишь?
Просветленный (24335) 7 лет назад
Нет, кроме физических) Если у тебя свободно 100 мб памяти, то строка может быть максимум 100 мб
ГолубойЗнаток (306) 7 лет назад
а к чему тогда диапазон значений -128 ...127 ?
Просветленный (24335) Это для 8 битного числа со знаком. 8 битное без знака = (2^8)-1 8 битное со знаком = ((2^8)/2)-1 64 битное без знака = (2^64)-1 64 битное со знаком = ((2^64)/2)-1
Похожие вопросы