|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
17.07.2010, 17:49 | #1 |
Delphi, OpenGL API
Форумчанин
Регистрация: 29.03.2010
Сообщений: 152
|
Обращение к элементам массива через указатель
Как можно получить доступ к каждому элементу массива с помощью указателя на него? Вот пример для наглядности:
Код:
Последний раз редактировалось Miha85193; 17.07.2010 в 17:55. |
17.07.2010, 23:12 | #2 |
Форумчанин
Регистрация: 26.07.2009
Сообщений: 216
|
Такой подмены компилятор не поймет и длина массива, переданного в параметре всегда будет равна 1. Независимо от того какой массив передается. Адрес @А (а это и есть указатель) реального массива транслируется в тип TByteArray, а он имеет длину в 1 байт.
Последний раз редактировалось Karabash; 17.07.2010 в 23:14. |
18.07.2010, 02:37 | #3 |
Delphi, OpenGL API
Форумчанин
Регистрация: 29.03.2010
Сообщений: 152
|
А если сделать вот так:
Код:
|
18.07.2010, 03:29 | #4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
указательные массивы это не array. вообще такого типа нет.
посмотрите примеры работы со ScanLine Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
18.07.2010, 03:43 | #5 |
Студент, не
Старожил
Регистрация: 29.01.2009
Сообщений: 2,067
|
Вы не сможете таким образом узнавать размер массива. Его придётся помнить отдельно - или в глобальных или передавать вместе с указателем в функции/процедуры...
I am the First of Cyber Evolution...
I am the First to Program your Future... |
18.07.2010, 10:17 | #6 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
Полностью согласен! к слову, а зачем этот огород? Если речь идёт о Delphi - то там есть динамические массивы (это которые array of тип). Чем они не устраивают?! |
|
19.07.2010, 00:25 | #7 | |
Delphi, OpenGL API
Форумчанин
Регистрация: 29.03.2010
Сообщений: 152
|
Цитата:
|
|
19.07.2010, 00:32 | #8 |
Форумчанин
Регистрация: 01.09.2009
Сообщений: 197
|
Куда его нельзя передать в качестве параметра, пример бы.
Размер спокойно опередляется Length(arr); |
19.07.2010, 00:47 | #9 |
Delphi, OpenGL API
Форумчанин
Регистрация: 29.03.2010
Сообщений: 152
|
В процедуры и функции конечно же. Если бы было возможным передавать методам динамические массивы в качестве параметров, то согласен, длину определить не проблема.
|
19.07.2010, 00:55 | #10 |
Форумчанин
Регистрация: 05.04.2010
Сообщений: 410
|
а почему не передать его как открытый массив?
ICQ: 593-013-807
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
обращение к элементам двумерного массива через указатели в С++ | серг | Помощь студентам | 17 | 06.12.2009 18:00 |
обращение к элементам двумерного массива через указатели | серг | Общие вопросы C/C++ | 2 | 05.12.2009 23:33 |
Обращение к элементам массива через указатель в С++ | серг | Помощь студентам | 1 | 24.11.2009 01:30 |
обращение к элементам двумерного массива через указатели в С ++ | серг | Помощь студентам | 0 | 23.11.2009 22:43 |