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

Массив строк - C++

Восстановить пароль Регистрация
 
Сетевой Боб
1 / 1 / 0
Регистрация: 01.02.2013
Сообщений: 28
19.02.2013, 00:40     Массив строк #1
Здравствуйте.

Разбираюсь с массивами Вопрос: почему при выполнении программы выдаются адреса памяти, а не строки?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
 
int main() 
{
int a[4][2]= 
{
    
    5, 4,
    5, 3,
    9, 0,
    2, 8
};
 
cout << a[2] << '\n';  
cout << a[3];
 
return 0;
}
Вывод:

0x7ffffd915840
0x7ffffd915848
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.02.2013, 00:40     Массив строк
Посмотрите здесь:

C++ Ввод нескольких строк или массив строк
Массив строк как массив указателей на массивы чаров C++
Сформировать массив строк. Удалить из него одинаковые строки. Сформировать массив строк. Удалить из него К последних строк C++
Используя функцию копирования строк, организуйте конкатенацію и копирование строк в четвертый массив, содержащий полные имена C++
Запросить название учебного заведения, специальность и номер группы. записав их в массив из 3 строк. Подсчитать длины каждой строк C++
C++ Задано массив строк произвольной длины. Отформатировать данный массив по ширине поля.
C++ Добавление неодинаковых строк в массив строк
C++ Вводится массив строк текста с неизвестным заранее количеством строк

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
fuzzytoozy
8 / 8 / 1
Регистрация: 23.11.2012
Сообщений: 94
19.02.2013, 01:04     Массив строк #2
Потому что вы создаете двумерный массив и пытаетесь вывести на экран указатель, а указатель как известно - адресная переменная. Вот он и выводит вам адрес. Вы таким образом создали 4 одномерных массива, содержащих по 2 целых числа. а[0] есть адрес первого массива, а[1] второго и т.д. Доступ к данным массива можно получить используя оба индекса: cout << a[0][0];

Вот так выводятся все данные вашего массива:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std;
 
int main()
{
int a[4][2]=
{
 
    5, 4,
    5, 3,
    9, 0,
    2, 8
};
 
for ( int j = 0; j < 4; j++ )
for ( int k = 0; k < 2; k++ )
cout << a[j][k] << ' ' ;
 
 
return 0;
}
Yandex
Объявления
19.02.2013, 01:04     Массив строк
Ответ Создать тему
Опции темы

Текущее время: 08:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru