Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
3 / 3 / 1
Регистрация: 14.08.2012
Сообщений: 78

Синонимы операций взятия адреса массива (arr и &arr)

08.10.2012, 15:39. Показов 2289. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
возможно коряво написал заголовок, да и сам вопрос банальный. после создании лок. массива его адрес можно получить при помощи его имени или &имя. После вызова др. ф-ции и передачи ему копии мас, повторяю те же операции. &ar - показывает другой адрес, а ar - адрес прежнего массива


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int main()
{
    int ar[5];
 
    cout << &ar << endl;    // 1000
    cout << ar << endl;      // 1000
 
    f(ar);
 
    return 0;
}
 
void f(int ar[])
{
    cout << &ar << endl;    //1204
    cout << ar << endl;      //1000
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.10.2012, 15:39
Ответы с готовыми решениями:

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

чем отличается *(arr+1) от *(arr++)?
подскажите пожалуйста в чем отличие между *(arr+1) и *(arr++), допустим char arr=&quot;qwertyuiop&quot;; while(*arr!='\0') { ...

Почему работает и так, и так: arr[i] и i[arr]?
//один и тот же результат cout&lt;&lt;arr; cout&lt;&lt;i;//почему нет ошибки да даже это, например работает и выводит одинаковый результат ...

3
 Аватар для doctor_lecter
284 / 157 / 30
Регистрация: 22.09.2012
Сообщений: 283
08.10.2012, 15:43
Адрес первого элемента - arr или &arr[0];
&arr - адрес указателя на первые элемент массива
2
601 / 569 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
08.10.2012, 15:45
Цитата Сообщение от jon_illien Посмотреть сообщение
помощи его имени или &имя
вы не правы, адрес получается либо указанием имени arr либо адрес первого элемента
т.е arr = &arr[0];
arr = *(&arr);
1
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
09.10.2012, 15:54
Цитата Сообщение от doctor_lecter Посмотреть сообщение
&arr - адрес указателя на первые элемент массива
Это в каком случае? Вот в таком случае что такое &arr?
C++
1
2
int arr[10];
std::cout << &arr:
?

Добавлено через 7 минут
jon_illien, в случае функции, хотя вы и объявили параметр как int ar[], фактически он рассматривается компилятором как int *ar. И беря его адрес, вы берёте адрес самого параметра функции, а не адрес массива, который вы по указателю передали в функцию.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.10.2012, 15:54
Помогаю со студенческими работами здесь

Проблемы с методом массива (Array.prototype.p=1 var arr=new Array(); arr.watch('p',alertme) arr.p=2)
Опять я с подобной проблемой. &lt;script language='JavaScript1.2'&gt; function alertme(id,oldValue,newValue){ alert('arr.'+id+' =...

Напишите функцию filterRange(arr, a, b), которая принимает массив arr, ищет в нём элементы между a и b
Здравствуйте! Всех с прошедшими праздниками! Сегодня, пишу с целью задать несколько вопросов. У меня есть задачка: ...

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

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

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


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru