|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.07.2017, 15:02 | #1 |
Пользователь
Регистрация: 21.07.2017
Сообщений: 12
|
Имя массива
Здравствуйте, возник вопрос по массивам. Предположим есть инструкция:
int a[] = { 5, 6, 7, 8, 9, }; Если я обращаюсь к элементу так: int a[3] = 6; Можно ли расценивать в данном случае имя массива как указатель? Или все таки здесь идет обращение к элементу как обращение у обычной переменной? Просто читал на сайтах что, например, p[3] == *(p+3), но это как я понимаю верно тогда, когда: int * p = a; Тогда уже здесь p[3] будет действовать как адресная арифметика, а не как обращение как у обычной переменной? |
21.07.2017, 15:59 | #2 | ||
Вредный кошак
Участник клуба
Регистрация: 14.10.2012
Сообщений: 1,159
|
Имя массива != указатель. Точка.
Массив может лишь неявно каставаться к указательному типу. Цитата:
Если Это указатель или массив, то p[3] преобразуется в *(p + 3), поэтому, например, можно написать так: 3[p] - это преобразуется в *(3 + p). Цитата:
|
||
22.07.2017, 00:30 | #3 | |
Пользователь
Регистрация: 21.07.2017
Сообщений: 12
|
Цитата:
|
|
24.07.2017, 16:28 | #4 |
Пользователь
Регистрация: 21.07.2017
Сообщений: 12
|
Ап
Также вот заинтересовало что происходит в данной инструкции: int a[10]; int & ref = a[5]; Если a[5] == *(a+5), тогда получается создается псевдоним ref для значения элемента? Или для самого элемента на 6 позиции? |
24.07.2017, 16:51 | #5 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,759
|
А у вас у самого нигде не екает, когда вы пишите "псевдоним для значения"? Он что за 2кой будет гоняться? А если эту 2ку запишут и в 9 элемент?
Не раскладывайте все на арифметику указатель без необходимости - вам же легче будет. Представьте по старому массив, как набор ячеек или вагонов, и уже понятнее будет, что ссылка такое. Последний раз редактировалось p51x; 24.07.2017 в 16:53. |
24.07.2017, 17:09 | #6 |
Пользователь
Регистрация: 21.07.2017
Сообщений: 12
|
Ага, понял. Чтож, в данном случае буду расценивать это как уникальный идентификатор с добавлением нужного индекса.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как вывести на экран имя массива? | Hornet_nsk | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 08.04.2012 19:33 |
инициализация массива, вывод массива и обработка массива должны быть реализованы с помоshью функций | airesjke | Помощь студентам | 0 | 02.03.2012 16:14 |
Узнать имя листа, если известно кодовое имя | tae1980 | Microsoft Office Excel | 3 | 20.03.2011 21:57 |
символьные данные сложной структуры и имя массива как параметр функции | EkaterinaA | Помощь студентам | 3 | 22.02.2009 21:36 |