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

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

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

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

13.10.2009, 18:56. Просмотров 1203. Ответов 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-го символа строки????
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.10.2009, 18:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Строки, указатели и адреса (C++):

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

указатели и адреса. - C++
Пользователь вводит с клавиатуры строку – предложение с пробелами и знаками пунктуации длиной до 100 символов. Вывести на экран адреса...

Указатели и адреса объектов - C++
Вот код: #include &lt;conio.h&gt; #include &lt;iostream.h&gt; void main() { clrscr(); int a,b,*pa=&amp;a,*pb=&amp;b,z=pb-pa; ...

Указатели, адреса и значения - C++
У меня 2 вопроса по поводу указателей. Прошу знатоков С++ помочь разобраться 1. Есть код int a = 5; int b = 4; int *c =...

Адреса и указатели на языке С++ - C++
Pomogite pliz((( #include &lt;iostream.h&gt; typedef int* IntPtrType; int main() { IntPtrType ptr_a,ptr_b; int num_c=4, num_d=7; ...

Указатели, Оператор взятия адреса - C++
Вообщем, ребят, недавно разбирался с указателями в С++ и столкнулся с проблемой понимания следующих вопросов: void Concat(string *str)...

1
TanT
эволюционирую потихоньку
466 / 464 / 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
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.10.2009, 20:52
Привет! Вот еще темы с ответами:

Почему указатели имеют одинаковые адреса - C++
Например, если взять указатели на массивы. **m имеет тот же адрес, что и *m, что и m

[Указатели]Использование операции получения адреса операнда - C++
Здравствуйте! Объясните пожалуйста, почему в пером случае, когда присваиваем указателю p_test адрес переменной test, использование...

Указатели: определить число отрицательных элементов в массиве и вывести их адреса - C++
Привет всем, я хотел бы узнать как решается данная задачка: Написать программу, определяющую число отрицательных элементов в массиве и...

Указатели и адреса: может кто-нибудь нормально по-человечески эту тему объяснить? - C++
Добрый вечер. Читаю вот книгу по Липманну и ничего не понимаю из этих слов, может кто нормально по-человечески объяснить? Спасибо. ...


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

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

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