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

динамический двумерный массив (получить адрес на первый элемент первой строки) - C++

Восстановить пароль Регистрация
 
iTD
 Аватар для iTD
0 / 0 / 0
Регистрация: 14.03.2012
Сообщений: 29
06.12.2012, 21:57     динамический двумерный массив (получить адрес на первый элемент первой строки) #1
есть двумерный массив

C++
1
2
3
4
5
6
7
........
// объявление двумерного динамического массива
    int **matrix=new int* [n];
    for(int count=0; count < n; count++)
        matrix[count]=new int[m];
    //  где matrix  – массив указателей на выделенный участок памяти под массив целых чисел  типа int
.........
как мне можно получить адрес на первый элемент первой строки (на начало массива)? нужно все это для работы во встроеном _asm. мучаюсь весь день Со статическим двумерным массивом и динамическим одномерным все работает, т.е. получаю правильный адресс и достаю оттуда значение.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.12.2012, 21:57     динамический двумерный массив (получить адрес на первый элемент первой строки)
Посмотрите здесь:

C++ Дан двумерный массив размером 5 * 8, заполненный случайным образом. Вставить перед всеми строками, первый элемент которых делится на3,вставить....
C++ Добавление строки в двумерный динамический массив (исправить ошибки)
Двумерный динамический массив (Получить векторный столбец, элементы которого являются наименьшим по модулю столбцов исходной матрицы) C++
C++ Динамический массив (вывести строки матрицы, в которых есть элемент, больший суммы элементов, следующих за ним)
Строки. Как найти в слове первый элемент? Второй элемент, последний элемент? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vourhey
Почетный модератор
6468 / 2243 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
06.12.2012, 22:00     динамический двумерный массив (получить адрес на первый элемент первой строки) #2
matrix[0]
iTD
 Аватар для iTD
0 / 0 / 0
Регистрация: 14.03.2012
Сообщений: 29
06.12.2012, 22:06  [ТС]     динамический двумерный массив (получить адрес на первый элемент первой строки) #3
Цитата Сообщение от Vourhey Посмотреть сообщение
matrix[0]
не понял, т.е. для того чтобы попать на начало массива, мне нужно записать в регистр edi адресс matrix[0] ?
C++
1
2
3
4
5
6
7
8
_asm
    {
        mov ebx, 0
        mov esi, 0
        mov edi, matrix[0]
        mov ebx, [edi][esi*4]
        mov max, ebx
    }
так тоже не получается, он выплевывает что то, но не то что нужно (например 324561 и тп)
Vourhey
Почетный модератор
6468 / 2243 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
06.12.2012, 22:20     динамический двумерный массив (получить адрес на первый элемент первой строки) #4
Цитата Сообщение от iTD Посмотреть сообщение
мне нужно записать в регистр edi адресс matrix[0]
matrix[0] - это указатель. Значения указателя - это адрес. Поэтому тебе нужен не адрес matrix[0], а просто matrix[0].Смотри:
C++
1
2
3
4
5
6
7
    const int n = 3, m=3;
    int **matrix=new int* [n];
    for(int count=0; count < n; count++)
        matrix[count]=new int[m];
    matrix[0][0] = 666;
    std::cout<<std::hex<<matrix[0]<<std::endl;
    std::cout<<std::dec<<*matrix[0]<<std::endl;
И вывод:
0x94f030
666
Добавлено через 2 минуты
Можешь вот так написать, если хочешь:
C++
1
2
    std::cout<<std::hex<<*matrix<<std::endl;
    std::cout<<std::dec<<**matrix<<std::endl;
Одна фигня.
iTD
 Аватар для iTD
0 / 0 / 0
Регистрация: 14.03.2012
Сообщений: 29
06.12.2012, 22:26  [ТС]     динамический двумерный массив (получить адрес на первый элемент первой строки) #5
буду пробовать
Yandex
Объявления
06.12.2012, 22:26     динамический двумерный массив (получить адрес на первый элемент первой строки)
Ответ Создать тему
Опции темы

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