-8 / 2 / 0
Регистрация: 28.02.2012
Сообщений: 106
1

Что значит "Косвенная адресация к элементам массива"

13.04.2015, 14:21. Показов 12660. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем доброго времени суток!!!

Кто может подсказать, что значит "Косвенная адресация" к элементам массива.

C++
1
*(B + i) = 0;
Это то?
Если нет, то не могли бы привести пример кода и разъяснить, уже просто много сайтов облазил, так и не нашел нужное обхявнение
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.04.2015, 14:21
Ответы с готовыми решениями:

косвенная адресация
В ESI находится адрес начала строки mov start_adr, BYTE PTR ESI; почему на эту строку...

Косвенная адресация
Как тут сделать обращение к элементам массива через косвенную адресацию?#include <iostream> /*...

Косвенная адресация
здравствуйте, друзья! вопрос такой, есть таблица из 2ух столбцов: А - код товара, В -...

Косвенная адресация
Составьте программу, которая пересылает содержимое регистра Dx в память. используйте косвенную...

5
117 / 121 / 42
Регистрация: 25.08.2012
Сообщений: 1,294
13.04.2015, 15:09 2
trish145, да.
Запись *(array + i) будет идентична записи array[i]. Поясню. На большинстве компах размер типа int равен 4 байтам. Допустим, у нас массив int array[20], и пусть адрес первого элемента равен 1000 (1000-ая ячейка памяти, грубо говоря). Тогда вон та запись будет означать не 1000 + i, а 1000 + sizeof(*array)*i, а поскольку размер элемента массива равен 4, то и умножаться i будет на четыре (если бы массив был на double, тогда бы умножалось на 8, потому что размер дубля на большинстве компютерах равен 8 байтам).
0
-8 / 2 / 0
Регистрация: 28.02.2012
Сообщений: 106
13.04.2015, 17:18  [ТС] 3
Не могли бы подсказать, как сделать косвенную адресацию к двухмерному массиву?
0
117 / 121 / 42
Регистрация: 25.08.2012
Сообщений: 1,294
13.04.2015, 17:45 4
trish145, двумерный массив array[x][y] - одномерный с размером [x*y]. Не проверял, но по-моему, например
C++
1
2
for(int i = 0; i < x*y; ++i)
   std::cout << *(array + i);
0
-8 / 2 / 0
Регистрация: 28.02.2012
Сообщений: 106
13.04.2015, 18:37  [ТС] 5
Цитата Сообщение от tnk500 Посмотреть сообщение
trish145, двумерный массив array[x][y] - одномерный с размером [x*y]. Не проверял, но по-моему, например
Код C++
1
2
for(int i = 0; i < x*y; ++i)
* *std::cout << *(array + i);

все равно не понял
можешь помочь переделать этот код?

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
35
36
37
38
39
// Zadacha_1.2.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
using namespace std;
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale (0,"rus");
    int **mass;
    int n,m,i,j;
 
    cout<<"Введите количество столбцов = "; cin>> n;
    cout<<"Введите количество строк = ";cin>>m;
 
    mass = new int* [n];
 
    for (i = 0; i < n; i++)
        mass[i] = new int[m];
    for (i = 0; i < n; i++)
        for(j=0;j<m;j++)
        {
            cin>>mass[i][j]; 
        }
 
   for ( i=0; i<n;i++)
    {  for (j=0;j<m;j++)
       {
           cout<<mass[i][j];
       }
   cout<<endl;
   }   
 
   cout<<"mass [1][1] = "<<mass[1][1]<<endl;
   system("pause");
    return 0;
}
0
-8 / 2 / 0
Регистрация: 28.02.2012
Сообщений: 106
15.04.2015, 23:55  [ТС] 6
Разобрался, препод подсказал.
Если кому нужно, то косвенная адресация к двумерному массиву
C++
1
*(*(mass + i) + j)
1
15.04.2015, 23:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.04.2015, 23:55
Помогаю со студенческими работами здесь

Типа косвенная адресация
Опять я со своими проблемами… На этот раз у меня не база данных, а скорее БАНК данных, т.е....

Косвенная адресация в T-SQL
Опять я со своими проблемами… На этот раз у меня не база данных, а скорее БАНК данных, т.е....

Косвенная адресация объектов
Здравствуйте есть необходимость собрать адреса созданных объектов в массив количество их известно...

Прямая и косвенная адресация
Нужно в emu8086: записать константы D1 и d2 в ячейки памяти M1 и m2 (использовать прямой метод...

Косвенная адресация процедур в VBA
Привет профессионалам, может не совсем обычные вопросы... 1.Можно ли релизовать это в VBA ссылки...

Прямая или косвенная адресация ?
dseg segment cat dw 1234h pad dw dad dseg ends cseg segment assume...

Пишу транслятор ассемблера, косвенная адресация
Пишу упрощенный транслятор ассемблера на Java(язык реализации не важен). Мой транслятор должен...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru