СПРОСИ ПРОФИ
👍
+2
👎 22

Масив это просто ?

Упрощает ли читабельность кода к обращение к массиву, если использовать такой метод:
int a [10];
0[a]; и т.д.
?
информатика обучение программированию обучение     #1   25 фев 2014 23:45   Увидели: 73 клиента, 20 специалистов   Ответить
👍
0
👎 0

Дениска, никто так, к сожалению, не пишет. Многие люди даже этого не знают, им просто не приходит такое в голову.

👍
+1
👎 1

Читабельность кода такой способ обращения к элементам массива усложняет. Причем значительно. Все привыкли сначала видеть название массива, и уже в квадратных скобках порядковый номер элемента в массиве.
Как уже упомянул Валентин Борисович, такой способ вообще мало кто знает и такие вопросы любят задавать на собеседованиях.

Если кому-то интересно почему это вообще работает (компилируется), то ответ на самом деле прост, но нужно знать что такое указатели и арифметику указателей:
a[2] это то же самое что (*(a+2)),
рассуждаем дальше: a + b = b + a (от перестановки ничего не меняется),
следовательно, можем написать так (*(2+a)), а это можно свернуть обратно в 2[a].

Получается не важно где указывается индекс, а где название массива. Главное понимать, что они будут складываться.

И еще важный момент: что такое в данном контексте «а»? Это указатель на начало массива. А указатель — это адрес (например: 0х024А3). Получается, что мы обращаемся к 0х024А3 + 2. А это уже адрес второго элемента в массиве.

Задайте свой вопрос по информатике
профессионалам

Сейчас онлайн 75 репетиторов по информатике
Получите ответ профи быстро и бесплатно

Другие вопросы на эту тему:

👍
0
👎 0

Static в С   2 ответа

Стоит ли избегать реализацию static или следует использовать глобальную переменную для улучшение читабельности?
  25 фев 2014 23:55  
ASK.PROFI.RU © 2020-2026