Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 171, средняя оценка - 4.75
apomin
Сообщений: n/a
#1

Инициализация массива - C++

12.12.2008, 20:09. Просмотров 20990. Ответов 5
Метки нет (Все метки)

Нужно объявить несколько статических строк, содержащих байты со значениями в диапазоне от 1 до 255

Пытаюсь что-то в этом духе:

C++
1
2
3
4
5
6
unsigned char arrays[3][] = 
{
    {'A', 'B', 'C', 175, 216, 0},
    {'G', 'H', 168, 234, 0},
    {'K', 'L', 'M', 'N', 0},
};
но компилятор ругается
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2008, 20:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Инициализация массива (C++):

Инициализация массива - C++
int ** mas, n; cout << "Введите порядок треугольника паскаля: " << endl; cin >> n; mas = new int * ; for (int i = 0; i < n;...

Инициализация массива - C++
Есть массив: int d; Есть константа бесконечности (просто константа) inf, равная 2^30. Я попытался проинициализировать массив этой...

инициализация массива - C++
Доброго времени. Инициализация массива с указанием размера 80 проходит гладко, при указании допустимого размера 12 выдает ошибку. Почему?

Инициализация массива C++ - C++
Почему, если мы не инициализируем переменную, то при попытке работы с ней будет ошибка int main(){ char x; cout << x; ...

Инициализация массива - C++
Здравствуйте! хм... сначала написал так. POINT p={00,00,10,10,10,10,10,10}; потом подумал, решил написать так. POINT...

Инициализация массива в классе - C++
class matrix { int arr; ...... public: .............. void set_a(int input, int i, int j){arr=input;}; //тут ошибка };

5
CheshireCat
Эксперт С++
2893 / 1242 / 78
Регистрация: 27.05.2008
Сообщений: 3,375
12.12.2008, 21:58 #2
Либо
Код
unsigned char arrays[][6] =
{
{'A', 'B', 'C', 175, 216, 0},
{'G', 'H', 168, 234, 0},
{'K', 'L', 'M', 'N', 0},
};
либо
Код
unsigned char arrays[3][6] =
{
{'A', 'B', 'C', 175, 216, 0},
{'G', 'H', 168, 234, 0},
{'K', 'L', 'M', 'N', 0},
};
Неопределенной может быть только первая размерность массива. Либо все должны быть определены.
0
accept
4822 / 3243 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
12.12.2008, 22:21 #3
все строки должны иметь одинаковую длину, а т.к. ложатся они друг за другом, то добавлять их можно сколько угодно
0
apomin
Сообщений: n/a
13.12.2008, 03:05 #4
Я не совсем точно спросил
Загвоздка вот какая:

Допустим, создаётся массив строк:
C++
1
2
3
4
5
6
unsigned char *arrays[3] = 
{
    "aaaa",
    "ff",
    "",
};
Строк точно три, это задано, а вот длина у каждой - разная.
Мне нужно в строках помимо букв указывать любые символы от 1 до 255
Желательно для удобства чтения в десятичном виде, но в крайнем случае пойдёт и в шестнадцатеричном. Забыл, как это делается.

пишу "aaaa0x255" - это воспринимается как строка с символами '0', 'x', и т.д., а нужно, чтобы в строку вставился один байт с кодом 255

Думал представить строки массивом байтов, но тоже не проходит.
accept
4822 / 3243 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
13.12.2008, 12:35 #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
 
/* кодирует Hello, world! */
main()
{
    unsigned char *array[] = {
        "\x48\x65\x6C\x6C\x6F",
        "\167\157\162\154\144"
    };
    printf("%s, %s!\n", array[0], array[1]);
    return 0;
}
0
apomin
Сообщений: n/a
14.12.2008, 12:28 #6
супер!
то, что нужно
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.12.2008, 12:28
Привет! Вот еще темы с ответами:

Инициализация массива структур - C++
Почему после инициализации первого массива программа выходит из цикла ? как сделать чтобы инициализировала все 3 объекта структуры ...

Инициализация char массива - C++
Мне нужно объявить и инициализировать массив char'ов. К примеру, char *m_words={'1', '2', '3', '4', '5', '6', '7', '8', '9', '0'}; ...

Инициализация двумерного массива - C++
Учу С++ и переделываю шахматы в ооп. Не получается написать конструктор для двумерного массива. На С было: int position = { {...

Инициализация массива в классе - C++
OS: WinXP Compiler: VC++ 6.0 Извиняюсь, заранее за глупый вопрос, но тем не менее: Есть класс: class Table{ public: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Yandex
Объявления
14.12.2008, 12:28
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru