Ошибки, баги, вопросы - страница 2568

 
Vict:

0x20

А в таком примере возможно сделать подобное?
То есть численный char массив инициализировать пустым значением, не нулём.

char Arr[];
ArrayResize(Arr, 5);
ArrayInitialize(Arr, '\0');
   
for(int i=0; i<5; i++)
   Print(Arr[i]);
[Удален]  
Roman:

А в таком примере возможно сделать подобное?
То есть численный char массив инициализировать пустым значением, не нулём.

не вижу преград
 
Vict:
не вижу преград

Преграда есть

ArrayInitialize(Arr, ' ');

Инициализируется числом 32
На сколько я понял для char символа не существует пустого значения, кроме '\0'
Но этот символ инициализирует массив нулями.
Вопрос был, возможно ли проинициализировать пустым значением, не нулём.

 
Roman:

Преграда есть

Инициализируется числом 32
На сколько я понял для char символа не существует пустого значения, кроме '\0'
Но этот символ инициализирует массив нулями.
Вопрос был, возможно ли проинициализировать пустым значением, не нулём.

Смотри. Когда ты объявил массив char a[100], то физически это означает, что на стеке выделилось 100 байт, всё, они есть и они имеют значения от 0x0 до 0xff
 
Vladimir Simakov:
Смотри. Когда ты объявил массив char a[100], то физически это означает, что на стеке выделилось 100 байт, всё, они есть и они имеют значения от 0x0 до 0xff

Да, и содержит мусор

char a[100];
   
for(int i=0; i<100; i++)
   Print(a[i]);

Вопрос был совсем в другом. Проинициализировать пустым значением, не нулём. Если такое вообще возможно.
Ноль это число! Пустое значение в моём понимании, нет чисел, пустота.
Но ячейки памяти проинициализированы этой пустотой )) 

 

MT5 Билд 2145 от 17 сентября 2019.

При запуске тестера автоматически отключает кластер агентов локальной сети. Если его включить принудительно, то при следующем запуске тестера он опять его принудительно отключает.

Итак уже надоела проблема, которая полгода тянется, когда внезапно половина агентов перестает принимать задание и приходится их принудительно отключать и снова включать,

а теперь еще и локальных агентов приходится включать при каждом запуске тестера.

[Удален]  
Roman:

Да, и содержит мусор

Вопрос был совсем в другом. Проинициализировать пустым значением, не нулём. Если такое вообще возможно.
Ноль это число! Пустое значение в моём понимании, нет чисел, пустота.
Но ячейки памяти проинициализированы этой пустотой )) 

Как Вы это представляете?

Ячейка памяти всегда что-то содержит. В одном байте может быть число от 0 до 255.

Пустое значение не предусмотрено.

[Удален]  
Roman:

Да, и содержит мусор

Вопрос был совсем в другом. Проинициализировать пустым значением, не нулём. Если такое вообще возможно.
Ноль это число! Пустое значение в моём понимании, нет чисел, пустота.
Но ячейки памяти проинициализированы этой пустотой ))


Возможно всё, но задача не ясна, вариантов можно много придумать. Либо выделить из диапазона char коды со спец состоянием если возможно (CHAR_MAX - пустота, CHAR_MAX-1 - ошибка, и т.д), либо параллельно char массиву хранить флаги описывающие состояние символьного массива (один байт - флаги "пустоты" для восьми ячеек). Но, скорее всего, это вообще не нужно, странного хотите.

ЗЫ: видимо влияние языков, где все массивы ассоциативные
 
Roman:

Да, и содержит мусор

Вопрос был совсем в другом. Проинициализировать пустым значением, не нулём. Если такое вообще возможно.
Ноль это число! Пустое значение в моём понимании, нет чисел, пустота.
Но ячейки памяти проинициализированы этой пустотой )) 

Так не бывает))) Байт это единица информации. Если он есть, значит есть значение.
 
Maksim Emeliashin:

MT5 Билд 2145 от 17 сентября 2019.

При запуске тестера автоматически отключает кластер агентов локальной сети. Если его включить принудительно, то при следующем запуске тестера он опять его принудительно отключает.

Итак уже надоела проблема, которая полгода тянется, когда внезапно половина агентов перестает принимать задание и приходится их принудительно отключать и снова включать,

а теперь еще и локальных агентов приходится включать при каждом запуске тестера.

В журнал тестера что выводится при этом?