LINUX.ORG.RU

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

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

Надеюсь это шутка, конечно же С имеет свою абстракцию, которая не сходится с тем что происходит на машине при запуске программы.

Например:

static int a, b;

int main() {
  int *pa = &a, *pb = &b + 1;
  if (pa == pb) {
    printf("A\n");
  } 
  if ((long)pa == (long)pb) {
    printf("B\n");
  } 
  return 0;
} 
./a.out 
B

Если писать код не зная как работает «виртуальная машина С», он по любому развалится с выходом новой версии компилятора, поэтому никаких фич нету, есть незнание.

Исправление MOPKOBKA, :

Надеюсь это шутка, конечно же С имеет свою абстракцию, которая не сходится с тем что происходит на машине при запуске программы.

Например:

static int a, b;

int main() {
  int *pa = &a, *pb = &b + 1;
  if (pa == pb) {
    printf("A\n");
  } 
  if ((long)pa == (long)pb) {
    printf("B\n");
  } 
  return 0;
} 
./a.out 
B

Если писать код не зная как работает «виртуальная машина С», он по любому развалится с выходом новой версии компилятора, поэтому никаких фич нету.

Исправление MOPKOBKA, :

Надеюсь это шутка, конечно же С имеет свою абстракцию, которая не сходится с тем что происходит на машине при запуске программы.

Например:

static int a, b;

int main() {
  int *pa = &a, *pb = &b + 1;
  if (pa == pb) {
    printf("A\n");
  } 
  if ((long)pa == (long)pb) {
    printf("B\n");
  } 
  return 0;
} 
./a.out 
B

Если писать код не зная как работает «виртуальная машина С», он по любому развалится с выходом новой версии компилятора, поэтому нужно писать согласно стандарту С.

Исправление MOPKOBKA, :

Надеюсь это шутка, конечно же С имеет свою абстракцию, которая не сходится с тем что происходит на машине при запуске программы.

Например:

static int a, b;

int main() {
  int *pa = &a, *pb = &b + 1;
  if (pa == pb) {
    printf("A\n");
  } 
  if ((long)pa == (long)pb) {
    printf("B\n");
  } 
  return 0;
} 
./a.out 
B

Как ты говоришь, «Любой код» - он по любому развалится с выходом новой версии компилятора, поэтому нужно писать согласно стандарту С.

Исправление MOPKOBKA, :

Надеюсь это шутка, конечно же С имеет свою абстракцию, которая не сходится с тем что происходит на машине при запуске программы.

Например:

static int a, b;

int main() {
  int *pa = &a, *pb = &b + 1;
  if (pa == pb) {
    printf("A\n");
  } 
  if ((long)pa == (long)pb) {
    printf("B\n");
  } 
  return 0;
} 
./a.out 
B

Как ты говоришь, «Любой код» по любому развалится с выходом новой версии компилятора, поэтому нужно писать согласно стандарту С.

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

Надеюсь это шутка, конечно же С имеет свою абстракцию, которая не сходится с тем что происходит на машине при запуске программы.

Например:

static int a, b;

int main() {
  int *pa = &a, *pb = &b + 1;
  if (pa == pb) {
    printf("A\n");
  } 
  if ((long)pa == (long)pb) {
    printf("B\n");
  } 
  return 0;
} 
./a.out 
B