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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Fengtu
0 / 0 / 0
Регистрация: 12.12.2012
Сообщений: 9
#1

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

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

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++
C++ Преобразование указателя в массив
C++ Проверка указателя на массив
C++ Разадресация указателя в массив из указателей
C++ Неправильная разадресация указателя на массив в цикле
Возврат указателя на массив из функции C++
C++ Как из указателя получтлся массив?
C++ Передача указателя на массив структур в функцию

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6547 / 3967 / 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
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12508 / 7070 / 794
Регистрация: 27.09.2012
Сообщений: 17,457
Записей в блоге: 2
Завершенные тесты: 1
26.01.2013, 01:52     вывод указателя на массив на массив #4
Цитата Сообщение от Fengtu Посмотреть сообщение
а чем является сам мусор?
Чем угодно, что лежит в памяти после элемента i[4].
Цитата Сообщение от Fengtu Посмотреть сообщение
ведь эта часть данных выводится на экран в следствии манипуляций с именем массива
выводится пока не встретит 0
Yandex
Объявления
26.01.2013, 01:52     вывод указателя на массив на массив
Ответ Создать тему
Опции темы

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