구조체2 구조체 내부에서 연산자 오버로딩 아래의 구문을 이해하기까지 꽤나 시간이 걸렸지만 이해한것이 있어 적어두고자 한다 bool operator < (const Point & a) const { if (x == a.x) return y < a.y; // 호출없이 쓰면 기존 구조체의 멤버 return x < a.x; // a로 호출해서 쓰면 구조체 a의 멤버 }operator < (기존 비교 연산자 a.y; } return x < a.x; } }; 위 식의 경우는 x가 1순위로 오름차순, y가 2순위로 내림차순, z가 3순위로 오름차순 정렬이라는 것을 알 수 있다 2022. 6. 9. 구조체, typedef c언어에서는 같은 속성을 가진 변수들을 모아 메모리 상에서 연속되는 주소값을 갖는 하나의 데이터 묶음으로 표현한다 이를 구조체 structure type 라고 한다 구조체는 메모리 상에서 연속되는 주소값을 갖는다 메모리에서 연속되는 주소값을 갖는 것은 배열이므로, 구조체를 변수들의 배열로 볼수도 있다 변수를 저장가능하므로 배열, 주소값, 포인터도 저장가능하다 구조체 안에 구조체가 없으면 (중복 구조체가 아니면) 1차원 배열과 같다고 볼 수 있고, n번의 중복을 가진 구조체라면 n차원 배열과 같다고 볼 수 있다 (=내부 변수로 배열을 갖는 경우) 배열의 성질을 갖기에 연속되는 주소값을 이용해서 포인터로 다룰수도 있을 것이다 구조체를 만들때는 일반적으로 다음과 같은 방법으로 선언, 초기화한다 strutct .. 2022. 6. 6. 이전 1 다음