C언어 버블정렬함수에 구조체 요소 입력받기

구조체 내부에 있는 요소 중 하나를 택해 버블정렬로 정렬하려고 합니다. 여기서 하나를 택하는 방법은 프로그램 사용자에게 정렬하고 싶은 항목을 '번호'로 입력받아 해당 번호의 항목을 정렬하는 것입니다. 버블 알고리즘은 알고 있어서 버블정렬 함수를 하나 만들었는데, 여기서 두가지 모르는 점이 있습니다. 첫번째는 사용자에게 원하는 항목의 번호를 입력받았을 때, 그 항목의 번호가 예를 들어 2라고 하면, 구조체에 있는 2번째 요소와 연결하는 방법 두번째는 버블정렬함수에서 변수 및 매개변수?를 어떤식으로 잡아야 각 if문에서 그 함수만 불러오면 바로 정렬을 할 수 있는지

구조체로 접근하는 방식이 [구조체변수명.멤버명] 형식이라는 것은 알고 있습니다. 하지만 접근해야하는 구조체 멤버가 10개가 넘어가서 각각을 함수로 만들기엔 양도 많고 비효율적인 것 같아 함수에서 (.멤버명)을 일반화할 수 있는 변수를 만들 수는 없을까요?? 이 2가지 방법을 못찾았습니다ㅜㅜ 도와주세요ㅠㅠㅠㅜㅜ!!!!!!!

  • 구조체라도 코드를 올려주세요. 그런데 배열이 아닌 이상 딱히 방법이 없을듯 하네요.. Sunjong Park 2018.12.3 06:42
  • https://stackoverflow.com/questions/7674255/get-list-of-c-structure-members 참조. 김현진 2018.12.4 15:40
  • 위 방식과 비슷하게 struct의 멤버에 접근할 수 있는 구조체를 배열로 만들어서 해당 구조체가 들어오면 관련 정보를 참조해서 포인터 이동을 통해서 struct 멤버에 접근하게 하면 어떨까 싶네요. 그렇게 하면 struct당 멤버 정보 하나씩이 매핑되고, 멤버 정보를 통해서 struct 멤버에 접근할 수 있어서 좀 더 효율적으로 코딩하는게 가능할 듯 싶은데요. 김현진 2018.12.4 15:43

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.