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

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

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

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

03.10.2012, 00:41. Просмотров 419. Ответов 2
Метки нет (Все метки)

/*
1) int a;
int *b=&a;
cout<<b<<endl;
2) char a;
char *b=&a;
cout<<b;
*/
Надо просто выдать адреса переменных. При работе с числами всё нормас.
При работе с символами адрес вместо адреса иероглифы, а с символьными массивами вобще ошибки.

Добавлено через 7 минут
Кароче рачно я всё сформулировал, лучше на простом примере покажите:
в символьном массиве вывести адрес допустим второго символа.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.10.2012, 00:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос При работе с символами адрес вместо адреса иероглифы, а с символьными массивами вобще ошибки. (C++):

Ошибка при работе с массивами char - C++
Задание: написать функцию для сложения целых двоичных чисел. Слагаемые должны иметь тип unsigned char. Вот что получилось, но после...

Проблемма при работе с массивами структур - C++
Разработать программу , позволяющую добавлять данные структур с указанными полями в массив, просматривать массивы, а также выполнять...

Задача связанная с символьными массивами и функциями - C++
Добрый день Помогите пожалуйста с этой задачей никак не выходит у меня. Заранее спасибою Написать функцию, которая проверяет...

Как выйти из цикла с символьными массивами? - C++
Допустим, хочу сделать цикл, в котором бы считывалась символьная строка с клавиатуры и выводилась на экран. Не могу придумать условие...

Как использовать указатели при работе с массивами? - C++
подскажите пожалуйста как правильно использовать указатели при работе с массивами. Как написать этк программу используя указатели? ...

Не получается перегрузить оператор ++ при работе с массивами - C++
Текст: #include &lt;iostream&gt; #include &lt;windows.h&gt; using namespace std; class array { public: array(); ...

2
alsav22
5425 / 4820 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
03.10.2012, 01:36 #2
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;
1
StreL0k
0 / 0 / 0
Регистрация: 03.10.2012
Сообщений: 6
03.10.2012, 17:20  [ТС] #3
Спасиб
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.10.2012, 17:20
Привет! Вот еще темы с ответами:

Ошибка с памятью при работе с двумерными массивами. - C++
{ int i, j, c, kol; n=StrToInt(Edit1-&gt;Text); m=StrToInt(Edit2-&gt;Text); for(i=0; i&lt;n; i++) { for(j=0; j&lt;m; j++)...

Указатели при работе с одномерными и двумерными массивами - C++
Помогите Даны натуральное число n, целые числа а1,...,аn . Выяснить, имеется ли среди чисел а1,...,аn совпадающие.

Ошибка в перегрузке оператора - при работе с массивами - C++
Текст программы: #include &lt;iostream&gt; #include &lt;windows.h&gt; using namespace std; class array { public: array(); ...

Использование указателей при работе с одномерными массивами - C++
Реализовать на Си. Даны натуральное число n, действительные числа a1,...,an. Если последовательность a1,...,an упорядочена по...


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

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

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