История изменений
Исправление 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
Обтекай =)