Допустим, у нас есть массив, определенный как глобальная переменная.
int array[] = {16, 25, 36, 49, 64};
Если это скомпилировано как разделяемая библиотека, компилятор создаст двоичный файл с символом «массив», указывающим на расположение в памяти массива.
Можно ли добавить глобальную переменную, которая будет представлять область памяти, которая находится внутри массива.
int elem;
Может ли быть так, что elem представляет то же место, что и массив [2]? Это вообще возможно только с C?
EDIT:
Можно ли это сделать без привлечения указателей? Я заинтересован в том, чтобы elem был местом в памяти массива ведьм [2]. При int* elem = &array[2]
память выделяется для указателя, и elem становится символом для этого указателя, а затем в нее помещается адрес памяти массива [2]. Я хотел бы, чтобы elem стал символом для местоположения массива [2], чтобы assert(elem == array[2])
проходил всегда . Как личность в математике (≡).
Кто-нибудь знает, что меня интересует, возможно ли это в простом C или только в сборке.