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

Строки, указатели и адреса - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 5.00
AltPeople
 Аватар для AltPeople
10 / 10 / 1
Регистрация: 25.09.2008
Сообщений: 73
13.10.2009, 18:56     Строки, указатели и адреса #1
есть код

C++
1
2
3
4
5
6
7
8
9
{
    char *str="Welcome";
    cout<<str<<" "<<(void *)str<<" "<<&str<<endl;
    for (int i=0;i<8;i++)
    {
        cout<<str[i]<<" / "<<(void *)str[i]<<" / "<<&str[i]<<endl;
    }
    return 0;
}
если не ошибаюсь
(void *)str - выдает адрес 1-го эл-та строки;
(void *)str[i] - выдает адрес i-го эл-та строки;

Вопрос
Почему значения (void *)str не равно (void *)str[0]????
и почему &str[i] выводит строку начиная с i-го символа строки????
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.10.2009, 18:56     Строки, указатели и адреса
Посмотрите здесь:

Строки и указатели C++
Указатели и строки C++
C++ Почему указатели имеют одинаковые адреса
указатели и адреса. C++
Адреса и указатели на языке С++ C++
C++ Адреса и указатели
C++ Указатели и адреса объектов
C++ [Указатели]Использование операции получения адреса операнда
C++ Указатели: определить число отрицательных элементов в массиве и вывести их адреса
Работа с массивами через указатели, адреса. Функция сортировки выбором любого массива C++
C++ Указатели, адреса и значения
Указатели, Оператор взятия адреса C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TanT
эволюционирую потихоньку
 Аватар для TanT
464 / 462 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
13.10.2009, 20:52     Строки, указатели и адреса #2
глянь тут

и почему &str[i] выводит строку начиная с i-го символа строки????
потому что это указатель на i-ый символ строки, и вывод идёт соответственно с него до символа конца строки

Добавлено через 8 минут
Цитата Сообщение от AltPeople Посмотреть сообщение
Вопрос
Почему значения (void *)str не равно (void *)str[0]????
билин, я ещё думаю что за фигня (void *)str[0] - это же код символа в таблице ASCII
Yandex
Объявления
13.10.2009, 20:52     Строки, указатели и адреса
Ответ Создать тему
Опции темы

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