LINUX.ORG.RU

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

Исправление hateyoufeel, (текущая версия) :

Анон, ты в порядке? Ты правда не видишь там разыменования двух указателей на структуры, один из которых даже в двух местах разыменовывается? Вот, я для тебя код переписал.

#include <stdio.h>
 
typedef struct { int i1; } s1;
typedef struct { int i2; } s2;
 
void f(s1 *s1p, s2 *s2p) {
  (*s1p).i1 = 2;
  (*s2p).i2 = 3;
  printf("%i\n", (*s1p).i1);
}
 
int main() {
  s1 s = {.i1 = 1};
  f(&s, (s2 *)&s);
}

Так очевиднее?

Исходная версия hateyoufeel, :

Анон, ты в порядке? Ты правда не видишь там разыменования двух указателей на структуры, один из которых даже в двух местах разыменовывается. Вот, я для тебя код переписал.

#include <stdio.h>
 
typedef struct { int i1; } s1;
typedef struct { int i2; } s2;
 
void f(s1 *s1p, s2 *s2p) {
  (*s1p).i1 = 2;
  (*s2p).i2 = 3;
  printf("%i\n", (*s1p).i1);
}
 
int main() {
  s1 s = {.i1 = 1};
  f(&s, (s2 *)&s);
}

Так очевиднее?