내가 지금 unsigned char 타입의 1바이트 숫자를 받아서(16진수 2자리)
특정 위치에 해당하는 비트를 1로 바꿈 , 0으로 바꿈 , 반전시킴 함수를 만들고 있는데
리턴값을 마찬가지로 unsigned char로 하려고 하는데
만약에 위치가 0보다 작거나 7보다 크면 -1을 리턴하려고 했는데
리턴값이 unsigned라서 음수 리턴이 안되는데
어떻게 하면 좋겠음??
포인터로 받아서 값을 바꿔주고 결과를 -1(실패) 0(바뀌기 전과 후가 동일) 1(바뀜)으로 할 수 도 있지만 일단 위 방법으로 할려면 어떻게 해?
함수 반환 값으로 BOOL 같은 걸로 실패/성공 여부를 확인하고 변환된 값은 포인터나 레퍼런스로 넘겨서 받아라. 유닉스든 마소든 왠만한 API는 거의 다 이렇게 한다.
성공 실패여부를 리턴으로 하고 계산 결과를 받는 포인터 인자를 하나 추가
대부분의 함수가 포인터로 받으니까 나도 그래야겠네, 암튼 감사
근데 위치값 받는 파라미터랑 리턴값은 정수로 하는 게 정석인건가?
unsigned 키워드가 붙었다고 메모리상의 데이터가 달라지는게 아니라 그냥 엔드유저가 볼때만 다르게 보는거라고 이해하고 접근해보길..