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

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

Войти
Регистрация
Восстановить пароль
 
jon_illien
2 / 2 / 1
Регистрация: 14.08.2012
Сообщений: 78
#1

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

08.10.2012, 15:39. Просмотров 718. Ответов 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
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.10.2012, 15:39     Синонимы операций взятия адреса массива (arr и &arr)
Посмотрите здесь:
C++ Почему *arr И arr[] одинаковые, но в тоже время разные?
чем отличается *(arr+1) от *(arr++)? C++
C++ Найти длину массива arr[]
C++ int *arr или int arr[10]
C++ Объявление массива int *arr почему так
C++ Оператор взятия адреса (&)
byte arr to int C++
C++ Не ожиданный результат, указатель на char arr[]
Двумерный массив передать через **arr C++
Как работает операция взятия адреса "&"? C++
C++ Нюансы синтаксиса: что означает запись arr[(int)(u*10)]++; ?
C++ Объяснить почему sizeof(arr) всегда возвращает одно и то же значение

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
doctor_lecter
280 / 153 / 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
Эксперт С++
4960 / 3036 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 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)
Ответ Создать тему
Опции темы

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