Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как определить массив?

Аноним
В стандартном С массив можно определить при объявлении, например
const char *myArr[3] = {"one", "two", "three"};
В MS C++ 6.0 у меня так не выходит. Может я чо не так делаю?
574
24 сентября 2001 года
Svk
9 / / 20.01.2000
<TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD>Quote<HR></TD></TR><TR><TD><FONT SIZE=-1><BLOCKQUOTE>
On 2001-09-12 0954, Anonymous wrote
В стандартном С массив можно определить при объявлении, например
const char *myArr[3] = {&quot;one&quot;, &quot;two&quot;, &quot;three&quot;};
В MS C++ 6.0 у меня так не выходит. Может я чо не так делаю?
</BLOCKQUOTE></FONT></TD></TR><TR><TD><HR></TD></TR></TABLE>

Тут есть ошибка.
Вот правильноconst char myArr[3][255] = {&quot;one&quot;, &quot;two&quot;, &quot;three&quot;};
Единственное чего я не помню, что надо ставить вперед, а что после, или число элементов массива[3] или длину каждого элемента[255]. Может надо так писать myArr[255][3].
624
27 сентября 2001 года
HollyBlood
44 / / 20.06.2000
>const char *myArr[3] = {&quot;one&quot;, &quot;two&quot;, &quot;three&quot;};

Это не верно...
* - это указатель, а ты хочешь константу...

убери звёздочку и всё будет оК...

Holly
409
09 ноября 2001 года
Ramzes
163 / / 20.09.2000
Получается указатель на указатель на массив
...убери звезду!
707
15 ноября 2001 года
Ager
8 / / 20.02.2000
Попробуй так
const char *months[] =
{&quot;Jan&quot;, &quot;Feb&quot;, &quot;Mar&quot;, &quot;Apr&quot;,
&quot;May&quot;, &quot;Jun&quot;, &quot;Jul&quot;, &quot;Aug&quot;,
&quot;Sep&quot;, &quot;Oct&quot;, &quot;Nov&quot;, &quot;Dec&quot;};
1.4K
16 ноября 2001 года
Serg
4 / / 20.07.2000
Надо писать имя типа, имя идентификатора,
и в квадратных скобках размерность массива.

Пример.
int array1 [10];
long array2 [1000];
636
16 ноября 2001 года
keisik
23 / / 20.03.2000
Чё-то я вас народ совсем не пойму... Всё правильно и всё работает. Тока что компилил (VC6.0,Win2k), всё нормально!

const char *myArr[3]={&quot;one&quot;, &quot;two&quot;, &quot;three&quot;};
AfxMessageBox(myArr[0]);
AfxMessageBox(myArr[1]);
AfxMessageBox(myArr[2]);

имеем пойнтер на одномерный массив пойнтеров, всё пучком! Имя двумерного массива mass[3][255] это и есть пойнтер на массив из трёх пойнтеров. Тока здесь он конст. Ну и чего такого?
Аноним
[quote]
Звезду убирать не надо(объявляется же массив указателей на 3 элемента, т.е. массив строк из 3-х элементов,т.к. указатели и строки в С++ одно и тоже), убрать надо модификатор const
707
20 ноября 2001 года
Ager
8 / / 20.02.2000
Цитата:

On 2001-11-16 0848, Serg wrote
Надо писать имя типа, имя идентификатора,
и в квадратных скобках размерность массива.

Пример.
int array1 [10];
long array2 [1000];



В С размер массива можно не указывать, если он инициализируется сразу. У меня всё работает.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог