Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > указатели не понятно(


Автор: qwerty1122 22.12.2013, 19:20
всем привет)помогите разобраться с указателями)
обьясните как можно расшифровать след строки примеров? :
i = i -> j   
i -> j = j
i -> j -> k !=X
i -> j -> j -> k = X

Автор: smalcom 23.12.2013, 08:11
Цитата

обьясните как можно расшифровать след строки примеров? :

мусорник

Автор: bsa 23.12.2013, 12:31
Цитата(qwerty1122 @  22.12.2013,  20:20 Найти цитируемый пост)
i = i -> j 

присвоить указателю i значение члена j структуры, на которую указывает i.
Цитата(qwerty1122 @  22.12.2013,  20:20 Найти цитируемый пост)
i -> j = j

присвоить члену j структуры, на которую указывает указатель i, значение j.

Дальше сам разберешься?

Автор: qwerty1122 23.12.2013, 16:12
Цитата(bsa @ 23.12.2013,  10:31)
Цитата(qwerty1122 @  22.12.2013,  20:20 Найти цитируемый пост)
i = i -> j 

присвоить указателю i значение члена j структуры, на которую указывает i.
Цитата(qwerty1122 @  22.12.2013,  20:20 Найти цитируемый пост)
i -> j = j

присвоить члену j структуры, на которую указывает указатель i, значение j.

Дальше сам разберешься?

ну вроде дальше понятно)спасибо)подскажи еще вот если такая ситуация 
*i -> j = k

Автор: bsa 23.12.2013, 17:16
здесь j - указатель.

Автор: qwerty1122 23.12.2013, 17:38
Цитата(bsa @ 23.12.2013,  15:16)
здесь j - указатель.

можно чуть поподробнее?

Автор: feodorv 23.12.2013, 19:13
Цитата(qwerty1122 @  23.12.2013,  18:38 Найти цитируемый пост)
можно чуть поподробнее? 

Код

struct some
{
  int *j;
};

void func( struct some *i, int k)
{
  * i->j = k;
}

int main()
{
  int m = 0;
  struct some s;

  s.j = &m;
  func( &s, 10);

  printf( "m = %d\n", m);
}


Здусь присвоение *i->j = k эквивалентно такому коду:
Код

int *ptr = i->j;
*ptr = k;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)