Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 3 из 3
  1. #1
    Аватар для jeraqiv
    Пользователь

    Статус
    Оффлайн
    Регистрация
    28.06.2015
    Адрес
    Двумерный массив
    Сообщений
    77
    Репутация:
    2 ±

    Оптимизация массивов [char]

    Здравствуйте дорогие друзья, у меня возник вопрос касающийся оптимизации массивов. Читая статью про оператор «char» и использование его в массивах - я решил проверить. В итоге либо у меня проблемы - либо человек неправильно объяснил принцип работы.

    Из мною прочитанного сказано, что на переменные и ячейки массива по стандарту выделяют 4 байта памяти. И получается если мы используем оператор «char», то мы можем сэкономить количество памяти (если значение переменной или ячейки массива находится в нужном нам диапазоне].

    В итоге я решил проверить это - и возникла проблема. Вот ниже приведен код.

    PHP код:
    #include <a_samp>

    main()
    {
      new 
    arrPlayers[MAX_PLAYERS char];
      
    printf("%d"arrPlayers[900]);
      return 
    1;
    }

    Ответ компилятораerror 032: array index out of bounds (variable "arrPlayers"
    Дело в том что компилятор пишет что «900» в массиве из «1000» ячеек - не существует. Возникает вопрос - куда он делся?

    Кто может объяснить принцип работы «char».

    - - - Добавлено - - -

    Видимо ошибка в том, что при указании ячейки массива нужно использовать { } а не [ ]. Если это так - то проблема решена.

    Это синтаксическое правило, или этому есть объяснение (использование { } вместо [ ]?

  2. #2
    Аватар для Роуди.
    Пользователь

    Статус
    Оффлайн
    Регистрация
    31.07.2015
    Сообщений
    154
    Репутация:
    17 ±
    PHP код:
    new arrPlayers[MAX_PLAYERS char];
      
    printf("%d"arrPlayers{900});
      return 
    1
    В фигурных скобках. Прочитать
    Мои глаза от твоего кода лезут на гавно-инфо и создают тему о расстановке пикапов.

  3. Пользователь сказал cпасибо:
    jeraqiv (24.01.2016)
  4. #3
    Аватар для jeraqiv
    Пользователь

    Статус
    Оффлайн
    Регистрация
    28.06.2015
    Адрес
    Двумерный массив
    Сообщений
    77
    Репутация:
    2 ±
    Цитата Сообщение от Роуди. Посмотреть сообщение
    PHP код:
    new arrPlayers[MAX_PLAYERS char];
      
    printf("%d"arrPlayers{900});
      return 
    1
    В фигурных скобках. Прочитать
    Спасибо.

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •