1 / 1 / 0
Регистрация: 11.05.2017
Сообщений: 48
1

вывести значение указателя в cout

26.09.2019, 01:49. Показов 8140. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как вывести значение указателя str1 для оператора cout ?
пример:

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
 
char str[4] = "abc";
char *str1;
 
int main ()
{
  std::cout << "STR" << std::endl;
  std::cout << str << std::endl;
  std::cout << &str << std::endl;
  printf ("%s\n", str); 
  printf ("%p\n", str); 
  std::cout << std::endl;
  
  str1=str;
  
  std::cout << "STR1" << std::endl;
  std::cout << str1 << std::endl;
  std::cout << &str1 << std::endl; //адрес 
  printf ("%s\n", str1); 
  printf ("%p\n", str1); //значение
  
  std::cout << std::endl;
  return 0;
}
-------------------------------
STR
abc
0x482004
abc
00482004

STR1
abc
0x492020
abc
00482004
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.09.2019, 01:49
Ответы с готовыми решениями:

Вывести на экран значение указателя Р2 и значение на которое он ссылается
задание таково: Присвоить раз именованному указателю на тип Р1 значение арифметиче-ского выражения...

Вывести на экран значение указателя Р2 и значение на которое он ссылается
Помогите , пожалуйста... Присвоить раз именованному указателю на тип Р1 значение...

Cout <<endl; Что это значит? Если ничего нету в cout?
Здравствуйте ! Обьясните пожалуйста что значит cout &lt;&lt;endl; если он используется после цикла...

Вывести список не через cout
Помогите доделать прогу. Задание на картинке 4.10 вот что я уже сделал, не могу сделать вывод 8...

4
Комп_Оратор)
Эксперт по математике/физике
8849 / 4591 / 619
Регистрация: 04.12.2011
Сообщений: 13,705
Записей в блоге: 16
26.09.2019, 01:57 2
Шажман де Волю, может вместо
C++
1
std::cout << &str << std::endl;
C++
1
std::cout << ((void*)str) << std::endl;
?
1
1 / 1 / 0
Регистрация: 11.05.2017
Сообщений: 48
26.09.2019, 02:27  [ТС] 3
да работает.
Для меня до сих пор загадка как перегружен cout для вывода данных
0
"C with Classes"
1634 / 1392 / 521
Регистрация: 16.08.2014
Сообщений: 5,828
Записей в блоге: 1
26.09.2019, 05:13 4
Лучший ответ Сообщение было отмечено Шажман де Волю как решение

Решение

Цитата Сообщение от Шажман де Волю Посмотреть сообщение
Для меня до сих пор загадка как перегружен cout для вывода данных
не cout перегружен, а operator<< типа std::basic_ostream смотри тут.
0
Комп_Оратор)
Эксперт по математике/физике
8849 / 4591 / 619
Регистрация: 04.12.2011
Сообщений: 13,705
Записей в блоге: 16
26.09.2019, 09:47 5
Цитата Сообщение от Шажман де Волю Посмотреть сообщение
Для меня до сих пор загадка как перегружен cout для вывода данных
По смыслу это можно представить как специальную перегрузку оператора сдвига в поток. Но на деле, этого нет поскольку нельзя перегружать операторы встроенных типов. Из этого следует что указатель на char это тип, который отличается от других указателей. У этого указателя ещё много уникальных отличий, но они в основном поддерживаются на уровне библиотек. А "интересное" поведение операторов сдвига для данного типа вшито в сам язык. Оператор сдвига для массива char тоже отличается от таковых для других массивов
C++
1
2
char tobeEnteredFromIstream[16];
cout>>tobeEnteredFromIstream;
Попробуйте что-то подобное сделать с массивом иного типа и посмотрите что скажет компилятор. Он не поскупится еа выражения.
Шажман де Волю, вопрос холиварен. Я помню многостраничную тему лет шесть назад в которой я и один из лучших С++ программистов на форуме спорили о том, является ли указатель на char специальным типом указателя. Я утверждал что он является таковым. Мой оппонент не согласился. Пол ста страниц. Поэтому не вникайте в то что создавалось ещё в С и перешло в С++ как дань совместимости пока. Со временем оно само станет на место в голове. а пока эти размышления тольо мешают двигаться вперёд.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.09.2019, 09:47
Помогаю со студенческими работами здесь

Как вывести обьект с cout ?
Как вывести обьект с помощю cout ?

Подскажите почему после первого cout программа не останавливается для ввода строки, а выводит второй cout
Подскажите почему после первого cout программа не останавливается для ввода строки, а выводит...

В чем разница std::cout и просто cout?
Ребят ,подскажите на простом языке для чайников . В чем разница std::cout и просто cout?

Разница между fwrite, cout и cout.write
Привет. Пытаюсь вывести букву 'ф' в консоль Windows 7, используя кодировку UTF-8. Для этого...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru