SA-MP Forums Archive
Инициализация char массивов. - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: Инициализация char массивов. (/showthread.php?tid=479812)



Инициализация char массивов. - Slava[LSW] - 07.12.2013

Можно ли подобным способом
pawn Код:
new test[4 char] = {34, 35, 32, 23};
Инициализировать такие массивы?


Re: Инициализация char массивов. - Stepashka - 07.12.2013

Можно.


Re: Инициализация char массивов. - Slava[LSW] - 07.12.2013

Quote:
Originally Posted by Slava[LSW]
Посмотреть сообщение
подобным
Конкретно вот так
pawn Код:
new test[4 char] = {34, 35, 32, 23};
не получается.


Re: Инициализация char массивов. - White_116 - 07.12.2013

Для начало стоит прочесть: http://forum.sa-mp.com/showpost.php?...&postcount=116
Так как механизм выделяемой памяти 4 байта, то нужно и число представить как 4 байта.
Как мы знаем char - это 1 байт, а значит [](integer) вмещает в себя 4 числа {}(char)
Инициализация массива должна быть в представлении 4 байта.
Удобнее всего представлять числа в HEX, так как наглядно видно числа ячеек {} хоть и в HEX формате.
Возьмём распространённую ошибку:
Quote:

new test[4 char] = {34, 35, 32, 23};

Правильно будет так:
Quote:

new test[4 char] = {0x22232017};

Так же можно представить как число integer:
Quote:

new test[4 char] = {572727319};

Или вот так:
Quote:

new test[1] = {0x22232017};
new test[1] = {572727319};




Re: Инициализация char массивов. - Slava[LSW] - 07.12.2013

Спасибо