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

При работе с символами адрес вместо адреса иероглифы, а с символьными массивами вобще ошибки. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Составить программу для вычисления значения выражения (без использования макрокоманды MAX и MIN) http://www.cyberforum.ru/cpp-beginners/thread662523.html
C++ задачка с натуральными числами программа, которая в записи натурального числа минимальным вычеркиванием цифр оставляет подряд идущие цифры, которые 1) образ отрезок натурального ряда; 2) образ строго возрастающую последовательность http://www.cyberforum.ru/cpp-beginners/thread662512.html
Заполнить двумерный массив C++
заполнить двухмерный массив размерности по правилу: 6 1 1 1 1 5 2 6 1 1 5 4 2 2 6 5 4 4 2 2 5 6 4 4 2 5 3 3 6 4 5 3 3 3 3 6
C++ Получение последней строки из файла
Вообщем прощу помощи, мне нужно получить последнюю строку из текстового файла и запихнуть ее в string. Желательно не перебирая весь файл, он большой... пробовал file.getline file.seekg getline спасибо
C++ Вывод простых чисел от m до n http://www.cyberforum.ru/cpp-beginners/thread662462.html
Здравствуйте! Возникла проблемка с задачкой. Требуется вывести все простые числа от m до n, при условии, что 2<=m<=n<=1000000. Если нет простых, то вывести "Absent". Время 6 с. 1 проблема заключается в выводе "Absent". Почему-то, она его либо не выводит(если m=n),либо(если n не простое) она пишет все простые числа от m до n и вместо n пишет "Absent". 2 проблема заключается во времени...
C++ Написать программу, которая вычисляет значение выражения, и определить ее значение для введенных пользователем значений фактических параметров. Написать программу, которая вычисляет значение выражения, и определить ее значение для введенных пользователем значений фактических параметров. При этом найти область определения функций и обеспечить необходимую реакцию программы на некорректные ситуации. y=sqrt(ln( (1-a)/x )) подробнее

Показать сообщение отдельно
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
03.10.2012, 01:36
C++
1
2
3
char a;
char *b = &a; 
cout << (void*)b << endl;
Добавлено через 6 минут
Дело в том, что cout понимает указaтель на char, как указатель на строку. Поэтому будет выводить содержимое памяти, начиная с адреса b, пока не встрерит 0, что для него является символом окончания строки. Поэтому, для получения адреса, содержащегося в указателе на char, нужно привести указатель к типу void.
Для символьного массива:
C++
1
2
3
char arr[3] = {'a', 'b', 'c'};
cout << (void*)&(arr[1]) << endl;
cout << (void*)(arr + 1) << endl;
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru