코드 1 ('구조체 데모'와 '구조체 데모'가) :오류 : 바이너리 ==에 유효하지 않은 피연산자
struct demo
{
int a;
}d[2];
int main()
{
d[0].a=5;
d[1]=d[0];
return 0;
}
이 코드가 작동을 잘
코드 2 :
struct demo
{
int a;
}d[2];
int main()
{
d[0].a=5;
d[1]=d[0];
if(d[0]==d[1])
{
printf("hello");
}
return 0;
}
이 코드는 에러 메시지를냅니다.
error: invalid operands to binary == (have 'struct demo' and 'struct demo')
왜이 오류가 발생합니까? 코드 2에서 oming?
임의의 구조체를'=='와 비교할 수 없으며, 자신의 비교 함수를 쓰거나'memcmp '를 사용할 수 있습니다. – user2802841
@Barmar 왜이 모든 답변들은'memcmp'에 대한 것입니까? 나는 그것을 얻지 못한다. 구조체의 패딩은 우리가 그 값을 알 수 없다. 에 대한 다른 연결된 대답, 그래서 이상한. –