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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.02.2016, 00:23   #1
valodu
Пользователь
 
Регистрация: 06.02.2016
Сообщений: 34
По умолчанию язык с. char str[]

Только что писал код и не много не понял что конкретно даёт char переменная[2].
Ограничивает кол-во символов?
Ввел 2, но позволяет ввести до 5 символов, если 6 то консоль выдаёт ошибку.
Прошу ваших объяснений
valodu вне форума Ответить с цитированием
Старый 22.02.2016, 00:37   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Да это массив из 2 элементов. То что позволило ввести 5 - повезло, в С нет котроля границ у массивов и можно много переписать пока не наткнетесь либо на защиту, либо еще на что-то
p51x вне форума Ответить с цитированием
Старый 22.02.2016, 00:56   #3
valodu
Пользователь
 
Регистрация: 06.02.2016
Сообщений: 34
По умолчанию

благодарю
valodu вне форума Ответить с цитированием
Старый 22.02.2016, 01:00   #4
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
Ограничивает кол-во символов?
нет: выделяет память. это разные вещи. в переменную попадает адрес, начиная с которого расположены элементы массива. в зависимости от компайлера и его настроек, можно/нельзя читать и/или писать данные за пределами массива.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 22.02.2016, 04:15   #5
ProBeginner
Форумчанин
 
Регистрация: 22.02.2016
Сообщений: 145
По умолчанию Помощь студентам, программирование C

Ваша переменная является указателем на область памяти начиная с которой зарезервированно две ячейки. Функция чтения со стандартного входа получает в аргументе указатель на память и пишет за ним всё что есть. Чтобы не было ошибки, вы сами должны указывать сколько байт надо читать.
Возьму в кредит мильён по 100% годовых на сто лет.
ProBeginner вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблема с типами(char и int) в опз (язык с++) allozavr Помощь студентам 0 19.02.2012 14:39
const char * str ser70 Общие вопросы C/C++ 7 13.09.2011 19:55
Float To Str,Int To Str Dobr1y Помощь студентам 2 01.03.2011 19:43
str->array & array->str LeoN PHP 6 06.07.2010 22:38
отличие char* str ="..." от char ...[]="..." StarWorm Общие вопросы C/C++ 2 20.11.2008 08:48