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

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

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

чем отличается *(arr+1) от *(arr++)? - C++

02.12.2012, 12:53. Просмотров 394. Ответов 3
Метки нет (Все метки)

подскажите пожалуйста в чем отличие между *(arr+1) и *(arr++), допустим

C++
1
2
3
4
5
char arr[]="qwertyuiop";
    while(*arr!='\0')
    {
        cout<<*(arr++);//так не работает,т.к указатель на arr,константа,а *(arr+1) работает,но почему ведь там и там увеличиваем адрес?
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.12.2012, 12:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос чем отличается *(arr+1) от *(arr++)? (C++):

Синонимы операций взятия адреса массива (arr и &arr) - C++
возможно коряво написал заголовок, да и сам вопрос банальный. после создании лок. массива его адрес можно получить при помощи его имени или...

Почему *arr И arr[] одинаковые, но в тоже время разные? - C++
Например есть какая-то ф-я:void temp(int &amp;(*arr)) { // . . . } И 2 разных массива которые будем передавать ф-и:int main(void) ...

int *arr или int arr[10] - C++
Подскажите, корректно ли использовать для объявления массива или строки int *arr; char *srt; Так же и некоторые переменные...

byte arr to int - C++
int i; byte arr = {0x31,0x31,0x31,0x31,0x31}; нужно из массива arr пoлучить i=11111; как это зделать? Добавлено через 11...

Найти длину массива arr[] - C++
Доброго времени суток :) Задача: Пользователь вводит числа или текст, когда введет '0' то ему выдаст кол-во элементов в массиве. ...

Не ожиданный результат, указатель на char arr[] - C++
Объясните пожалуйста каким образом, получается такой результат Без цикла вложенного в цикл? int main() { void func(char*); ...

3
Schizorb
510 / 462 / 16
Регистрация: 07.04.2012
Сообщений: 869
Записей в блоге: 1
Завершенные тесты: 1
02.12.2012, 13:07 #2
Суть в том, что операция сложения не меняет значения операнда, то есть если ты напишешь: a + 1 - то само значение a останется неизменным. А операция инкремента изменяет значение, увеличивая на единицу: a++.
2
v.a.l.i.d
413 / 378 / 10
Регистрация: 21.09.2012
Сообщений: 913
02.12.2012, 13:34 #3
Цитата Сообщение от sanches2805 Посмотреть сообщение
cout<<*(arr++);//так не работает,
Пытаешься изменить константу. arr++

Не по теме:

наверно )

0
go
Эксперт С++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
02.12.2012, 13:41 #4
Цитата Сообщение от sanches2805 Посмотреть сообщение
*(arr+1) и *(arr++)
Разные ячейки памяти.
0
02.12.2012, 13:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.12.2012, 13:41
Привет! Вот еще темы с ответами:

Двумерный массив передать через **arr - C++
Добрый день. Поискал похожие темы, кое-что нашел, но у меня проблема в том, что мне нужно передать уже созданный двумерный массив int arr...

Объявление массива int *arr почему так - C++
Объявление массива int *arr почему так, а не int arr, что означает *

Нюансы синтаксиса: что означает запись arr[(int)(u*10)]++; ? - C++
arr++; скажите пожалуйста что это может означать ? arr - масив количеств попаданий псевд случ числа в промежуток разбитый на 10 ...

Объяснить почему sizeof(arr) всегда возвращает одно и то же значение - C++
Начал изучать динамические массивы. Какое бы n я ни вводил, всегда создается массив из 4 элементов. Что я упустил? #include...


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

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

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