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

Почему при присваивании адреса массива не ставится знак '&' получения адреса - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ В каждом столбце динамической матрицы поменять местами первый отрицательный элемент и последний нулевой http://www.cyberforum.ru/cpp-beginners/thread1589538.html
Написать программу в динамическом двумерном массиве: В каждом столбце двумерного массива поменять местами первый отрицательный элемент и последний нулевой.
C++ Перемножить двумерные массивы Написать программу в двумерном динамическом массиве: Даны два двумерных массива. Перемножить их как матрицы. Результат записать в третий массив. http://www.cyberforum.ru/cpp-beginners/thread1589535.html
C++ Найти наибольшее количество идущих подряд букв в тексте
Добрый вечер помогите пожалуйста Дан текст найти наибольшее количество идущих подряд букв
ООП: указатель на объект C++
Всем привет. Подскажите пожалуйста как сделать указатель (набор дочерних тематических блоков (указатели на объекты Topic)).Читал про unique_ptr но через него у меня не получается. Само задание: Объявите и реализуйте класс Topic, моделирующий тематический блок лекции: в объекте Topic необходимо хранить следующие данные: название блока (строка); количество слайдов (целое число); набор...
C++ Найти индекс максимального элемента массива http://www.cyberforum.ru/cpp-beginners/thread1589516.html
Добрый вечер помогите пожалуйста в одномерном массиве состоящем из n целых элементов вычислить номер максимального элемента массива
C++ Вычислить площадь трапеции c использованием динамических массивов Вычислить площадь трапеции. Написать программу с использованием динамических массивов, вводя размер массива с клавиатуры. подробнее

Показать сообщение отдельно
gru74ik
Модератор
 Аватар для gru74ik
3077 / 1322 / 164
Регистрация: 20.02.2013
Сообщений: 3,758
Записей в блоге: 17
23.11.2015, 13:41     Почему при присваивании адреса массива не ставится знак '&' получения адреса
Или, скажем так, упрощение?

Добавлено через 10 минут
У Праты вот:
Цитата Сообщение от Стивен Прата
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
// addpntrs.cpp -- pointer addition
#include <iostream>
int main()
{
    using namespace std;
    double wages[3] = {10000.0, 20000.0, 30000.0};
    short stacks[3] = {3, 2, 1};
 
// Here are two ways to get the address of an array
    double * pw = wages;     // name of an array = address
    short * ps = &stacks[0]; // or use address operator
// with array element
    cout << "pw = " << pw << ", *pw = " << *pw << endl;
    pw = pw + 1;
    cout << "add 1 to the pw pointer:\n";
    cout << "pw = " << pw << ", *pw = " << *pw << "\n\n";
 
    cout << "ps = " << ps << ", *ps = " << *ps << endl;
    ps = ps + 1;
    cout << "add 1 to the ps pointer:\n";
    cout << "ps = " << ps << ", *ps = " << *ps << "\n\n";
 
    cout << "access two elements with array notation\n";
    cout << "stacks[0] = " << stacks[0] 
         << ", stacks[1] = " << stacks[1] << endl;
    cout << "access two elements with pointer notation\n";
    cout << "*stacks = " << *stacks
         << ", *(stacks + 1) =  " << *(stacks + 1) << endl;
 
    cout << sizeof(wages) << " = size of wages array\n";
    cout << sizeof(pw) << " = size of pw pointer\n";
    // cin.get();
    return 0; 
}
В большинстве контекстов C++ интерпретирует имя массива как адрес его
первого элемента. Таким образом, следующий оператор создает pw как указатель на тип
double, затем инициализирует его wages, который также является адресом первого
элемента массива wages:
C++
1
double * pw = wages;
Для wages, как и любого другого массива, справедливо следующее утверждение:
C++
1
wages = &wages[0] = адрес первого элемента массива
 
Текущее время: 23:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru