Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 12.12.2012
Сообщений: 9
1

вывод указателя на массив на массив

23.01.2013, 03:58. Показов 541. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
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;
 
void main()
{   
 
    char i[5]={{'g'},{'d'},{'r'},{'a'},{'f'}};          
    for (int k=0; k<5; k++)     
        cout << i[k] << "!";    
    cout << endl << endl;
    
    cout << i << "!";
 
    cout << endl << endl;
 
    cout << *i << "!";
    
    system("pause");    
}
не понятен результат вывода на экран.
1) если имя массива - это указатель на его первый элемент, то почему при непосредственном выводе имени не возвращается адрес?
2) что за мусор во втором выводе после последнего заданного элемента?
Миниатюры
вывод указателя на массив на массив  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.01.2013, 03:58
Ответы с готовыми решениями:

Передача указателя на массив
есть arr обьявлен и инициализирован требуется обьявить функцию передать в функцию указатель на...

Проверка указателя на массив
Как нам проверить, что указатель указывает на пямять, выделенную в куче, а не на стеке? например...

Преобразование указателя в массив
Всем привет. Есть указатель с типом const u_char * , известно , что он указывает на N байт. Как...

Преобразование указателя на C-массив
Добрый день. Есть функции:template&lt;int N&gt; constexpr void test1(const char (&amp;string)) { //...

3
Каратель
Эксперт С++
6609 / 4028 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
23.01.2013, 04:43 2
Цитата Сообщение от Fengtu Посмотреть сообщение
1) если имя массива - это указатель на его первый элемент, то почему при непосредственном выводе имени не возвращается адрес?
потому что одна из перегрузок оператора << принимает const char* для вывода строки, для вывода адреса кастуй к const void*

Добавлено через 2 минуты
Цитата Сообщение от Fengtu Посмотреть сообщение
2) что за мусор во втором выводе после последнего заданного элемента?
i это массив символов, от строки он отличается отсутсвием признака конца строки
1
0 / 0 / 0
Регистрация: 12.12.2012
Сообщений: 9
26.01.2013, 01:46  [ТС] 3
а чем является сам мусор?
ведь эта часть данных выводится на экран в следствии манипуляций с именем массива
и при этом имеет начало и конец. это описание массива или что то в этом роде?
0
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,737
Записей в блоге: 1
26.01.2013, 01:52 4
Цитата Сообщение от Fengtu Посмотреть сообщение
а чем является сам мусор?
Чем угодно, что лежит в памяти после элемента i[4].
Цитата Сообщение от Fengtu Посмотреть сообщение
ведь эта часть данных выводится на экран в следствии манипуляций с именем массива
выводится пока не встретит 0
0
26.01.2013, 01:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.01.2013, 01:52
Помогаю со студенческими работами здесь

Отсортировать массив через указателя
Смысл задания в том что сначала нужно разбить массив на 3 части: меньше нуля, равно нулю, больше...

Запись указателя на строку в массив
Всем привет! Вот у меня проблемка появилась, не знаю, что делать. Помогите пожалуйста! Есть...

Использование указателя на массив символов
Здравствуйте! прошу довести до меня почему в первом случае цикл for не работает в отличие от...

Возврат указателя на массив из функции
День добрый, коллеги по цеху. Не откажите в нужде java программисту в познаниях нативного кода....


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru