История изменений
Исправление
Twissel,
(текущая версия)
:
адрес переменной , это адрес по которому находится значение
Упрощенно говоря, это «номер» ячейки памяти программы.
Применительно к ОП, как тут уже все отписались, ты допустил 3 ошибки
- С обоих сторон оператора присваивания у тебя lvalue;
- Ты не выделяешь память;
- В простейшем случае массивы одинакового размера копируются в цикле поэлементно.
На засыпку резюмирую тебе инфу, чтобы голове сложилась картинка. Есть сущность переменная. Эта «вещь» обладает такими свойствами как:
- Имя (lvalue — леводопустимое значение);
- Тип (множество значений, которое может принимать переменная и допустимых операций над ними);
- Адрес (номер ячейки памяти, куда записывается переменная в момент выполнения программы);
Теперь, есть переменная специального типа T *x — указатель x на переменную типа T. Именно таким переменным и присваиваются адреса переменных некоторого типа в программе. Про указатель типа void* прочитаешь сам ;-)
Возвращаясь к ОП: В твоём случае указатель на первый элемент массива и собственно массив это совсем разные типы данных. Указатель это адрес первого элемента.
Массив это множество однотипных значений в памяти доступ к которым ты можешь получить через указатель, если освоишь адресную арифметику.
Так расписал, что даже сам уже понял :-D
Исправление
Twissel,
:
адрес переменной , это адрес по которому находится значение
Упрощенно говоря, это «номер» ячейки памяти программы.
Применительно к ОП, как тут уже все отписались, ты допустил 3 ошибки
- С обоих сторон оператора присваивания у тебя lvalue;
- Ты не выделяешь память;
- В простейшем случае массивы одинакового размера копируются в цикле поэлементно.
На засыпку резюмирую тебе инфу, чтобы голове сложилась картинка. Есть сущность переменная. Эта «вещь» обладает такими свойствами как:
- Имя (lvalue — леводопустимое значение);
- Тип (множество значений, которое может принимать переменная и допустимых операций над ними);
- Адрес (номер ячейки памяти, куда записывается переменная в момент выполнения программы);
Теперь, есть переменная специального типа T* x — указатель x на переменную типа T. Именно таким переменным и присваиваются адреса переменных некоторого типа в программе. Про указатель типа void* прочитаешь сам ;-)
Возвращаясь к ОП: В твоём случае указатель на первый элемент массива и собственно массив это совсем разные типы данных. Указатель это адрес первого элемента.
Массив это множество однотипных значений в памяти доступ к которым ты можешь получить через указатель, если освоишь адресную арифметику.
Так расписал, что даже сам уже понял :-D
Исходная версия
Twissel,
:
адрес переменной , это адрес по которому находится значение
Упрощенно говоря, это «номер» ячейки памяти программы.
Применительно к ОП, как тут уже все отписались ты допустил 3 ошибки
- С обоих сторон оператора присваивания у тебя lvalue;
- Ты не выделяешь память;
- В простейшем случае массивы одинакового размера копируются в цикле поэлементно.
На засыпку резюмирую тебе инфу, чтобы голове сложилась картинка. Есть сущность переменная. Эта «вещь» обладает такими свойствами как:
- Имя (lvalue — леводопустимое значение);
- Тип (множество значений, которое может принимать переменная и допустимых операций над ними);
- Адрес (номер ячейки памяти, куда записывается переменная в момент выполнения программы);
Теперь, есть переменная специального типа T* x — указатель x на переменную типа T. Именно таким переменным и присваиваются адреса переменных некоторого типа в программе. Про указатель типа void* прочитаешь сам ;-)
Возвращаясь к ОП: В твоём случае указатель на первый элемент массива и собственно массив это совсем разные типы данных. Указатель этоадрес первого элемента.
Массив это множество однотипных значений в памяти доступ к которым ты можешь получить через указатель, если освоишь адресную арифметику.
Так расписал, что даже сам уже понял :-D