0 / 0 / 0
Регистрация: 09.05.2014
Сообщений: 5
|
|||||||||||
1 | |||||||||||
Как вывести на экран именно адрес символьного массива?12.05.2014, 16:21. Показов 2187. Ответов 5
Метки нет (Все метки)
Добрый день!
Есть два кода с указателями: в одном указатель типа int, во втором типа char.
Поясните пожалуйста, почему во втором коде в выводе на экран мы пишем pCopyName вместо *pCopyName. Я так понимаю, что pCopyName должен указывать адрес символьного массива, а не его значение. Значение символьного массива по аналогии с первым кодом это *pCopyName. И как тогда вывести на экран именно адрес символьного массива?
0
|
12.05.2014, 16:21 | |
Ответы с готовыми решениями:
5
Ввести символьный массив; найти адрес всех парных его элементов символьного массива Вывести на экран все элементы заданного символьного массива Y$(8), длиной не более 5 символов Вывести на экран фамилию, адрес, имя и адрес тех учеников, кто учится в данной школе в старших классах Чтение символьного массива из файла и вывод на экран |
Котовчанин
|
||||||
12.05.2014, 16:39 | 2 | |||||
Наверное криво объясню, потому как не знаю как энто пояснить.
Приблизительная сигнатура оператора вывода вот такая std::ostream& operator<<(std::ostream&, const char*) Он принимает первым параметром std::cout, а вторым - ваш массив чаров. Он видит, что у нас конст чар* и понимает, что Вы хотите вывести строку(что ж ещё). Потому выводит ее строкой. Добавлено через 54 секунды Может кто-то другой более понятно объяснит. Добавлено через 2 минуты Ах да, вывести адрес массива. Вот.
0
|
0 / 0 / 0
Регистрация: 09.05.2014
Сообщений: 5
|
|
12.05.2014, 16:48 [ТС] | 3 |
а можно проще объяснить?
0
|
0 / 0 / 0
Регистрация: 12.05.2014
Сообщений: 6
|
|
12.05.2014, 16:59 | 4 |
0
|
Котовчанин
|
|
12.05.2014, 17:14 | 5 |
Не по теме: Чаво? Добавлено через 4 минуты const char* - это строка. Указатель на массив символов, строка, понимаете? И вот Ваш компилятор видит такой тип и понимает, что это строка, потому он выводит ее как строку, а не как указатель на массив.
0
|
0 / 0 / 0
Регистрация: 09.05.2014
Сообщений: 5
|
|
12.05.2014, 22:39 [ТС] | 6 |
Спасибо!
В итоге я пошла читать функцию strcpy - и я так понимаю, что в связи с тем что функция strcpy () возвращает указатель на буфер строки, то затем при передаче в cout в pCopyName содержится уже не адрес на буфер, а непосредственно массив символов/ строка. И поэтому для того, чтобы вывести адрес мы уже указываем &pCopyName.
0
|
12.05.2014, 22:39 | |
12.05.2014, 22:39 | |
Помогаю со студенческими работами здесь
6
Как вывести адрес массива в двоичной системе счисления? Проверить и вывести цифры из символьного массива Вывести список букв символьного массива квадратная матрица символьного типа. Транспонировать ее. Вывести на экран элементы, расположенные на побочной диагонали Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |