Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.07.2011, 01:06   #1
Акоб
Форумчанин
 
Регистрация: 10.01.2011
Сообщений: 243
По умолчанию Двумерный массив

Здравствуйте форумчане.
Я создаю переменную типа стринг.Мне нужно запомнить 22 адреса,от 1 до 20 запоминаю так:
Код:
char string[1000][40] = {0,"C:\\Audios\\1.wav","C:\\Audios\\2.wav",
						"C:\\Audios\\3.wav","C:\\Audios\\4.wav",
						"C:\\Audios\\5.wav","C:\\Audios\\6.wav",
						"C:\\Audios\\7.wav","C:\\Audios\\8.wav",
						"C:\\Audios\\9.wav","C:\\Audios\\10.wav",
						"C:\\Audios\\11.wav","C:\\Audios\\12.wav",
						"C:\\Audios\\13.wav","C:\\Audios\\14.wav",
						"C:\\Audios\\15.wav","C:\\Audios\\16.wav",
						"C:\\Audios\\17.wav","C:\\Audios\\18.wav",
						"C:\\Audios\\19.wav","C:\\Audios\\20.wav"};
Дальше мне нужно запомнит еще два адреса 100,1000.
Когда я пишу
Код:
strcpy( string[100], "C:\\Audios\\100.wav" );
strcpy( string[1000], "C:\\Audios\\1000.wav" );
Выдает ошибку,так как я пишу все это в .h файле.
Что можно сделать,чтобы последние два значения я записывал бы в .h файле.Буду благодарен за ответ или помощь.
Акоб вне форума Ответить с цитированием
Старый 31.07.2011, 03:14   #2
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

Ну тут как бы либо весь массив описывать, либо в коде в начале.

Код:
strcpy( string[1000], "C:\\Audios\\1000.wav" );
выход за пределы массива.
Carbon вне форума Ответить с цитированием
Старый 31.07.2011, 03:46   #3
Акоб
Форумчанин
 
Регистрация: 10.01.2011
Сообщений: 243
По умолчанию

Цитата:
выход за пределы массива.
- это пример.
А с помощью #define-ов не получится?
Акоб вне форума Ответить с цитированием
Старый 02.08.2011, 12:52   #4
Sadist989
Пользователь
 
Аватар для Sadist989
 
Регистрация: 12.08.2010
Сообщений: 14
По умолчанию

Цитата:
Код:
strcpy( string[1000], "C:\\Audios\\1000.wav" );
выход за пределы массива.
Правильно вам написали...
Нельзя string[1000], потому что размер массива от 0 до N - 1.
Объявите вот так string[999] - это його макс. размер.
И с помощью #define вот так: #define value 999 можна string[value]

Последний раз редактировалось Sadist989; 02.08.2011 в 12:58.
Sadist989 вне форума Ответить с цитированием
Старый 02.08.2011, 13:41   #5
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

используй std::vector
и да, раз уж определяешь свой массив в хидере, он должен быть константным! актуально только для плюсов
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Одномерный массив и Двумерный массив eugene1437 Общие вопросы C/C++ 15 25.05.2011 19:17
двумерный массив незнайка_на_земле Помощь студентам 10 09.03.2011 05:40
Двумерный массив tomas876 Паскаль, Turbo Pascal, PascalABC.NET 5 08.06.2010 12:00
Двумерный массив, одномерный массив. Branbal Помощь студентам 14 18.11.2009 12:40