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

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

Восстановить пароль Регистрация
 
jon_illien
2 / 2 / 1
Регистрация: 14.08.2012
Сообщений: 78
08.10.2012, 15:39     синонимы операций взятия адреса массива (arr и &arr) #1
возможно коряво написал заголовок, да и сам вопрос банальный. после создании лок. массива его адрес можно получить при помощи его имени или &имя. После вызова др. ф-ции и передачи ему копии мас, повторяю те же операции. &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
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.10.2012, 15:39     синонимы операций взятия адреса массива (arr и &arr)
Посмотрите здесь:

C++ int *arr или int arr[10]
Класс, реализующий стек. Перегрузка операций взятия и извлечения элемента. C++
Двумерный массив передать через **arr C++
C++ Найти длину массива arr[]
byte arr to int C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
doctor_lecter
 Аватар для doctor_lecter
279 / 152 / 8
Регистрация: 22.09.2012
Сообщений: 283
08.10.2012, 15:43     синонимы операций взятия адреса массива (arr и &arr) #2
Адрес первого элемента - arr или &arr[0];
&arr - адрес указателя на первые элемент массива
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
08.10.2012, 15:45     синонимы операций взятия адреса массива (arr и &arr) #3
Цитата Сообщение от jon_illien Посмотреть сообщение
помощи его имени или &имя
вы не правы, адрес получается либо указанием имени arr либо адрес первого элемента
т.е arr = &arr[0];
arr = *(&arr);
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
09.10.2012, 15:54     синонимы операций взятия адреса массива (arr и &arr) #4
Цитата Сообщение от doctor_lecter Посмотреть сообщение
&arr - адрес указателя на первые элемент массива
Это в каком случае? Вот в таком случае что такое &arr?
C++
1
2
int arr[10];
std::cout << &arr:
?

Добавлено через 7 минут
jon_illien, в случае функции, хотя вы и объявили параметр как int ar[], фактически он рассматривается компилятором как int *ar. И беря его адрес, вы берёте адрес самого параметра функции, а не адрес массива, который вы по указателю передали в функцию.
Yandex
Объявления
09.10.2012, 15:54     синонимы операций взятия адреса массива (arr и &arr)
Ответ Создать тему
Опции темы

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