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

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

Войти
Регистрация
Восстановить пароль
 
Мария2411
0 / 0 / 0
Регистрация: 11.03.2013
Сообщений: 7
#1

Работа с указателями - C++

14.04.2013, 09:30. Просмотров 323. Ответов 5
Метки нет (Все метки)

Помогите пожалуйста объяснить, не понимаю почему число присваемое через указатель *А в кавычках, и равны ли *А и просто А???
char *A = "123456789";
unsigned B = 1;
char *X = A + B;
char *Y = A - (-B);
Не используя, компилятор дать ответ равны или нет будут значения X и Y. Объяснить свой ответ.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.04.2013, 09:30     Работа с указателями
Посмотрите здесь:

работа с указателями C++
Работа с указателями C++
C++ Работа с указателями
C++ Работа с указателями
работа с указателями C++
Работа с указателями C++
C++ Работа с указателями
работа с указателями C++
C++ работа с указателями
C++ Работа с указателями
Работа с указателями C++
Работа с указателями C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kastaneda
Форумчанин
Эксперт С++
4259 / 2791 / 219
Регистрация: 12.12.2009
Сообщений: 7,120
Записей в блоге: 1
Завершенные тесты: 1
14.04.2013, 09:45     Работа с указателями #2
Цитата Сообщение от Мария2411 Посмотреть сообщение
почему число присваемое через указатель *А в кавычках
потому что это не число, а строка.
Цитата Сообщение от Мария2411 Посмотреть сообщение
равны ли *А и просто А
Нет конечно, *А это строка (точнее ее первый символ), а А это адрес этой строки.

Добавлено через 2 минуты
Цитата Сообщение от Мария2411 Посмотреть сообщение
Объяснить свой ответ.
странная задача, это ж математика не помню какой класс, тут даже программирование знать не надо
Rifle
26 / 26 / 5
Регистрация: 15.11.2012
Сообщений: 93
Завершенные тесты: 4
14.04.2013, 10:01     Работа с указателями #3
Не используя, компилятор дать ответ равны или нет будут значения X и Y. Объяснить свой ответ.
Ответы будут: "23456789" на первое и на второе. Чтобы понять, почему так, следует познакомиться с указателями в С++ (как вариант, гугл: "указатели С++"), с арифметикой указателей (аналогично, гугл: "С++ арифметика указателей") и со строками в стиле С++ (гугл: "строки в стиле С++"). В двух словах не объяснишь, если вы еще с указателями и строками не познакомились.

Добавлено через 3 минуты
Сами указатели char* X и char* Y будут указывать в первый элемент строки, т.е. 2.
Kastaneda
Форумчанин
Эксперт С++
4259 / 2791 / 219
Регистрация: 12.12.2009
Сообщений: 7,120
Записей в блоге: 1
Завершенные тесты: 1
14.04.2013, 10:03     Работа с указателями #4
У тебя ответ не соответствует поставленному вопросу. Смотрим внимательно вопрос

Цитата Сообщение от Мария2411 Посмотреть сообщение
Не используя, компилятор дать ответ равны или нет будут значения X и Y
Ответ: равны.

Цитата Сообщение от Мария2411 Посмотреть сообщение
Объяснить свой ответ.
потому что А-(-В) после раскрытия скобок превратится в А+В, а А+В == А+В, отсюда X == Y
Rifle
26 / 26 / 5
Регистрация: 15.11.2012
Сообщений: 93
Завершенные тесты: 4
14.04.2013, 10:06     Работа с указателями #5
Точно, сам проглядел. Тогда действительно, элементарная математика ))
Kastaneda
Форумчанин
Эксперт С++
4259 / 2791 / 219
Регистрация: 12.12.2009
Сообщений: 7,120
Записей в блоге: 1
Завершенные тесты: 1
14.04.2013, 10:11     Работа с указателями #6
Но что-то мне подсказывает, что ожидатеся ответ именно в том виде, как ты написал. Просто препод правильно сформулировать вопрос не смог.

Добавлено через 1 минуту

Не по теме:

Цитата Сообщение от Rifle Посмотреть сообщение
указывать в первый элемент строки, т.е. 2.
где-то на форму уже поднимался этот вопрос, короче правильно говорить "второй элемент", если говорить о порядке элемента, но "с индексом 1", если говорить об индексах.

Yandex
Объявления
14.04.2013, 10:11     Работа с указателями
Ответ Создать тему
Опции темы

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