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

Как вывести адресс на который указывает указатель типа char*. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Программа, выполняющая какие-либо действия каждую секунду. http://www.cyberforum.ru/cpp-beginners/thread365358.html
Есть бинарные часы, консольный вариант. Как осуществить сабж? Есть вариант сделать это через бесконечный цикл. В каждом цикле: задержка на 1 секунду-> проверка времени-> изменяем бинарное время. Может есть ещё какой-либо вариант? Например, чтобы программа без задержек и проверки времени, принимала сигнал, что время изменилось, а затем уже изменяла бинарные часы. Если последний вариант есть,...
C++ Задача на пересечение Всем доброго вечера. Помогите пожалуйста решить задачу. Я не могу понять саму структуру как должно быть. Написать программу, определяющую результат пересечения двух прямоугольников, стороны которых параллельны координатным осям. http://www.cyberforum.ru/cpp-beginners/thread365353.html
C++ Проверить, делятся ли числа нацело
Если a делится на b нацело выводим 1. Если с остатком то любое другое число. if использовать нельзя. Нужно вывести какую-то формулу, используя знаки (+ -). Помогите!
Задача Ход конем - 2. C++
день добрый. задача: http://informatics.mccme.ru/moodle/mod/statements/view3.php?id=656&chapterid=2962#1 как видите, задача на тему дп, но я смог решить только с помощью рекурсии. Система решение приняло, но всеравно оно мне не особо нравится, долго работает на данных побольше. Хотел узнать, как решить ее с помощью дп. #include <fstream> #include <iostream> bool possible (const int,...
C++ Вычислить значение выражения http://www.cyberforum.ru/cpp-beginners/thread365347.html
Народ помогите! значит такая задача , надо ввести число , и что бы оно считало данную формулу (прикрепил файл) на С 2.3 Создавайте темы с осмысленными и понятными названиями - это серьезно повышает шансы, что на ваш вопрос ответят. 3.3 Запрещено создавать темы с бессмысленными названиями вроде "Помогите!", "Вопрос" и т.п.
C++ счастливый билет Вводится шестизначное число .Определить является ли билет с этим номером счастливым ?с оптимизацией времени решения на турбо си!прошу помочь) подробнее

Показать сообщение отдельно
antifaton
0 / 0 / 0
Регистрация: 12.10.2011
Сообщений: 7
12.10.2011, 23:45  [ТС]     Как вывести адресс на который указывает указатель типа char*.
Цитата Сообщение от Predator_2004 Посмотреть сообщение
1) Мой компилятор мне сказал, что "а" ни разу не указатель. Соответственно мы получили адрес содержимого..
void* a=&f; Это же синтаксис объявления указателя неопределенного типа , разве не так?
И, кстати этот пример совсем не рабочий,
C++
1
2
3
4
5
6
7
8
9
10
11
#include<iostream>
using namespace std;
 
int main()
{
char *f="fjlkfj";
cout<<f<<endl;
void* a=&f;
cout<<&a;
 
}
Данные "fjlkfj" лежат по адресу, который присвоен "f", а &f это адрес самого указателя, следовательно в той строке void* a=&f; амперсанд лишний. И если немного доработать этот код :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int main()
{
char *f="fjlkfj";
void* a=f;
cout<<(char*)a<<endl;//так как тип "а" неопределенный, то его нужно указывать явно
cout<<a<<endl;
a=(char*)a+1;
cout<<(char*)a<<endl;
cout<<a<<endl;
 
 
getchar();
return 0;
}
То таки получим на выходе:
fjlkfj
00C57800
jlkfj
00C57801
Но только почему то команда cout<<(char*)a; выводит не текущий элемент, а весь массик начиная с текущего элемента. Это не совсем то чего хотелосб.

Так же я проанализировал пример Chelioss-а, и он мне показался наиболее приемлемым:
C++
1
2
3
4
5
6
7
8
9
10
11
12
int main()
{
     char a[] = "1234";
     char *b=a;
     std::cout<<(void*)b<<endl;
     std::cout<<*b<<endl;
     b++;
     std::cout<<(void*)b<<endl;
     std::cout<<*b<<endl;
     getchar();
    return 0;
}
Вывод:
0014FD84
1
0014FD85
2
Вот, в принципе , этого я и добивался. Большое спасибо за помощ .
 
Текущее время: 03:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru