Указатели - разобрать строку кода - C (СИ) (77018)

Узнай цену своей работы

Формулировка задачи:

Не могу никак понять тему про указатели. Даются примеры, а я их не понимаю.
int t; // объявление переменной t
t=*x; // в t находится ЗНАЧЕНИЕ x
*x=*y; // вот этого я не могу понять. Как мне кажется 
(но может, конечно, неправильно казаться) присвоение
 указателей работает справо налево) в чем смысл этого 
выражения понять не могу.
*y=t; // в *y значение t
И вот исче: Рассматриваю пример - указатель и массивы:
int *uk // указатель на целое
uk=&a[0] //указатель на АДРЕС первого элемента массива. Но непонятно почему uk без звездочки?
uk+i // пример опять без звездочки, но по идее должен указывать на i элемент массива
uk+i //написано, что это выражение является адресом a[i] - вот это ваще непонятно
*(uk=1) // это уже совсем непонятно что делается
Если где неправильные комменты дайте знать, пжл. Всем огромное спс за объяснения и удачи

Решение задачи: «Указатели - разобрать строку кода»

textual
Листинг программы
int t; // объявление переменной t
t=*x; // в t находится ЗНАЧЕНИЕ x
*x=*y; // вот этого я не могу понять. Как мне кажется 
(но может, конечно, неправильно казаться) присвоение
 указателей работает справо налево) в чем смысл этого 
выражения понять не могу.
*y=t; // в *y значение t

Объяснение кода листинга программы

В данном коде выполняются следующие действия:

  1. Объявляется переменная t типа int.
  2. t присваивается значение *x, то есть адрес переменной x приводится к значению, на которое она указывает.
  3. Значение *x присваивается переменной *y.
  4. Значение *y присваивается переменной t. В общем виде список действий можно представить так:
  5. Объявление переменной t.
  6. Присваивание *x переменной t.
  7. Присваивание *y значения *x.
  8. Присваивание *y переменной t. Однако, важно отметить, что непосредственное присваивание указателя (без использования оператора *) не изменяет значение указателя, а создает новый указатель, указывающий на тот же объект, что и исходный указатель. Это значит, что после выполнения данного кода, x и y будут указывать на одно и то же место в памяти.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.2 из 5
Похожие ответы