Указатели - разобрать строку кода - 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
Объяснение кода листинга программы
В данном коде выполняются следующие действия:
- Объявляется переменная
t
типаint
. t
присваивается значение*x
, то есть адрес переменнойx
приводится к значению, на которое она указывает.- Значение
*x
присваивается переменной*y
. - Значение
*y
присваивается переменнойt
. В общем виде список действий можно представить так: - Объявление переменной
t
. - Присваивание
*x
переменнойt
. - Присваивание
*y
значения*x
. - Присваивание
*y
переменнойt
. Однако, важно отметить, что непосредственное присваивание указателя (без использования оператора*
) не изменяет значение указателя, а создает новый указатель, указывающий на тот же объект, что и исходный указатель. Это значит, что после выполнения данного кода,x
иy
будут указывать на одно и то же место в памяти.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д