char и long

 

Скажите пожалуйста зачем использовать char с диапазоном значений от -128 до 127 если есть long с диапазоном от -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807? Все дело в использовании памяти (1 байт char и 8 байт long) или еще что-то есть? То же самое касается short и int...

 

Да, в памяти, а еще и в диапазоне значений. Если известно, что используемые значения входят в диапазон для char, то зачем использовать long? Когда дело касается одной переменной, то это некритично. А вот когда приходим к массивам, то стоит позаботится о количестве используемой памяти.

Кроме того, удобно использовать нужный тип данных во входных параметрах эксперта/индикатора/скрипта. Так, если от пользователя требуется ввод неотрицательного значения, то установить тип данных для него - uchar, ushort, uint, ulong. Это избавляет от проверки корректности введенного значения. Тоже некоторое упрощение в коде.