LINUX.ORG.RU

История изменений

Исправление 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