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

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

Восстановить пароль Регистрация
 
Fengtu
0 / 0 / 0
Регистрация: 12.12.2012
Сообщений: 9
23.01.2013, 03:58     вывод указателя на массив на массив #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;
 
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) что за мусор во втором выводе после последнего заданного элемента?
Миниатюры
вывод указателя на массив на массив  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.01.2013, 03:58     вывод указателя на массив на массив
Посмотрите здесь:

Возврат указателя на массив из функции C++
C++ Запись указателя на строку в массив
Возврат указателя на массив указателей C++
C++ Преобразование указателя в массив
C++ Проверка указателя на массив
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
23.01.2013, 04:43     вывод указателя на массив на массив #2
Цитата Сообщение от Fengtu Посмотреть сообщение
1) если имя массива - это указатель на его первый элемент, то почему при непосредственном выводе имени не возвращается адрес?
потому что одна из перегрузок оператора << принимает const char* для вывода строки, для вывода адреса кастуй к const void*

Добавлено через 2 минуты
Цитата Сообщение от Fengtu Посмотреть сообщение
2) что за мусор во втором выводе после последнего заданного элемента?
i это массив символов, от строки он отличается отсутсвием признака конца строки
Fengtu
0 / 0 / 0
Регистрация: 12.12.2012
Сообщений: 9
26.01.2013, 01:46  [ТС]     вывод указателя на массив на массив #3
а чем является сам мусор?
ведь эта часть данных выводится на экран в следствии манипуляций с именем массива
и при этом имеет начало и конец. это описание массива или что то в этом роде?
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11811 / 6790 / 767
Регистрация: 27.09.2012
Сообщений: 16,840
Записей в блоге: 2
Завершенные тесты: 1
26.01.2013, 01:52     вывод указателя на массив на массив #4
Цитата Сообщение от Fengtu Посмотреть сообщение
а чем является сам мусор?
Чем угодно, что лежит в памяти после элемента i[4].
Цитата Сообщение от Fengtu Посмотреть сообщение
ведь эта часть данных выводится на экран в следствии манипуляций с именем массива
выводится пока не встретит 0
Yandex
Объявления
26.01.2013, 01:52     вывод указателя на массив на массив
Ответ Создать тему
Опции темы

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