Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
D_Ok
44 / 33 / 27
Регистрация: 11.02.2014
Сообщений: 134
#1

Можно ли как-то словить номер элемента используя указатель, а не переменную

23.03.2014, 01:04. Просмотров 278. Ответов 4
Метки нет (Все метки)

C++
1
2
3
4
5
6
void Print(int *arr, const int *size)
{
    for (int *p = arr, n=0; p < arr + *size; p++)
        cout << "[" << n++ << "] - " << *p << endl;
    cout << endl;
}
собственно, можно ли как-то словить номер элемента используя указатель, а не переменную?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.03.2014, 01:04
Ответы с готовыми решениями:

Вычислить выражение используя указатель на переменную
Имеется 2 ячейки памяти А и В, и указателем который указывает на В, значение А...

Как правильно словить исключение не найденного элемента
Доброго вечера! Не могу вьехать, как правильно словить исключение не...

Используя указатель на переменную типа string, удалить последний символ этой переменной
есть указатель на переменную string,нужно удалить последний символ этой...

Узнать номер элемента массива на который указывает указатель
Может вопрос глупый но тока что об этом задумался! Можно ли узнать номер...

Найти сумму элементов массива расположенных после нулевого элемента используя указатель
Дароу, пожалуйста,кто может помочь и объяснить? Нужно найти сумму элементов...

4
TheChosenOne
13 / 13 / 2
Регистрация: 13.09.2013
Сообщений: 113
23.03.2014, 02:19 #2
Можно. Попробуй из адреса текущего элемента вычесть адрес 1го эл-та.
2
D_Ok
44 / 33 / 27
Регистрация: 11.02.2014
Сообщений: 134
23.03.2014, 09:48  [ТС] #3
Цитата Сообщение от TheChosenOne Посмотреть сообщение
Можно. Попробуй из адреса текущего элемента вычесть адрес 1го эл-та.
а почему показывает сразу номер, а не разницу, в размере типа? (в данном случае почему не 0 4 8 12...)?
0
zss
Модератор
Эксперт С++
7061 / 6606 / 4179
Регистрация: 18.12.2011
Сообщений: 17,405
Завершенные тесты: 1
23.03.2014, 12:20 #4
Цитата Сообщение от D_Ok Посмотреть сообщение
почему показывает сразу номер, а не разницу, в размере типа?
Указатель знает о типе переменной, соответственно все операции по вычислению адреса
выполняются кратно размеру типа.
1
TheChosenOne
13 / 13 / 2
Регистрация: 13.09.2013
Сообщений: 113
23.03.2014, 17:16 #5
D_Ok, или проще говоря компилятор делает так: берет разницу в размере типа и делит ее на размер типа и возвращает?! результат. Так устроен компилятор (Я сам когда-то задавался этим вопросом)
Если хочешь увидеть разницу в байтах,то,насколько я помню, можно привести указатель к void* и вычесть
0
23.03.2014, 17:16
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.03.2014, 17:16

Как заменить переменную i на указатель?
вычисляю факториал числа. нужно заменить переменные на указатели. две...

Как получить номер элемента массива в переменную?
Как получить номер элемента массива в переменную? Вот собственно в чем и...

Как словить событие load отдельного элемента на странице?
Есть страничка, часть которой формируется на php. Слева дерево навигации, а...


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

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

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