LINUX.ORG.RU

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

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

Что тебе, ублюдку, не ясно в слове «семантика»? Тварина ты тупая, у тебя одна структура, с одним наполнением, но под разными именами (переменными).

Ты бы хоть проверил так ли это, прежде чем обкладывать всех:

#include <stdio.h>
int main()
{

  struct {int array[10]; } a, b;
  a.array[0]=1;
  b.array[0]=2;
  printf("a!=b:  a.array[0] = %d  b.array[0] = %d \n",a.array[0],b.array[0]);
  a=b;
  printf("after a = b:  a.array[0] = %d  b.array[0] = %d \n",a.array[0],b.array[0]);
  a.array[0]=3;
  printf("again a!=b:  a.array[0] = %d  b.array[0] = %d \n",a.array[0],b.array[0]);
return 0;
}

результат

$ gcc sttest.c
$ ./a.out
a!=b:  a.array[0] = 1  b.array[0] = 2 
after a = b:  a.array[0] = 2  b.array[0] = 2
again a!=b:  a.array[0] = 3  b.array[0] = 2

Как видно, a и b - совершенно разные, более того, при присваивании копируются по значению.

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

Что тебе, ублюдку, не ясно в слове «семантика»? Тварина ты тупая, у тебя одна структура, с одним наполнением, но под разными именами (переменными).

Ты бы хоть проверил так ли это, прежде чем обкладывать всех:

#include <stdio.h>
int main()
{
  struct {int array[10]; } a, b;
  a.array[0]=1;
  b.array[0]=2;
  printf("a!=b:  a.array[0] = %d  b.array[0] = %d \n",a.array[0],b.array[0]);
  a=b;
  printf("after a = b:  a.array[0] = %d  b.array[0] = %d \n",a.array[0],b.array[0]);
return 0;

результат

$ gcc sttest.c
$ ./a.out
a!=b:  a.array[0] = 1  b.array[0] = 2 
after a = b:  a.array[0] = 2  b.array[0] = 2

Обтекай =)