c언어 고수님들..
글쓴이
- 2019.05.24. 23:03
- 370
* 반말, 욕설시 게시판 글쓰기 권한 영구 정지
과제로 전화번호부 프로그램을 짜고있는데요
분할 컴파일해서 프로그램을 만들어야 하는데
헤더파일이 이렇고
메인.c가
이렇게 돼있으면
각각의 함수에서는
전화번호를 저장하는 구조체에 접근을 어떻게 해야하나요?
파라미터없이 접근이 가능한가요?
권한이 없습니다.
전역변수에 구조체 배열의 포인터를 저장하고 함수에서 그 전역변수를 이용해서 접근가능. 하지만 이렇게 코드짜는 방식은 매우 안 좋은 방식이니 사용하지 말것. 항상 파라미터를 이용하시길
0
0
힘쎈 둥근잎유홍초
내용 클릭 후 복사하세요.
이 댓글을 삭제하시겠습니까?
[힘쎈 둥근잎유홍초]님의 댓글을 신고합니다.
힘쎈 둥근잎유홍초
아 그러면 각 함수들 파라미터에 포인터를 넣어서 하면 될까요?
0
0
글쓴이
내용 클릭 후 복사하세요.
이 댓글을 삭제하시겠습니까?
[글쓴이]님의 댓글을 신고합니다.
글쓴이
네. Call by reference 방식을 사용하세요.
0
0
힘쎈 둥근잎유홍초
내용 클릭 후 복사하세요.
이 댓글을 삭제하시겠습니까?
[힘쎈 둥근잎유홍초]님의 댓글을 신고합니다.
힘쎈 둥근잎유홍초
감사합니다
0
0
글쓴이
내용 클릭 후 복사하세요.
이 댓글을 삭제하시겠습니까?
[글쓴이]님의 댓글을 신고합니다.
글쓴이
근데 코드보니 구조체배열을 전역변수로 쓰셨는데 저런 경우에는 함수에서 파라미터나 다른 방식 없이 바로 직접 접근이 가능하겠네요. 근데 저렇게 코드쓰면 돌아는가지만 좋은 코딩습관은 아닙니다
0
0
힘쎈 둥근잎유홍초
내용 클릭 후 복사하세요.
이 댓글을 삭제하시겠습니까?
[힘쎈 둥근잎유홍초]님의 댓글을 신고합니다.
직접 작성하신 코드가 아니라 세부 함수들을 직접 구현하라고 틀만 받으신 것 같은데,
phone.h에 PhoneBook이 전역 변수 배열로 선언되어 있으니 PhoneBook[0].Name으로 접근 가능합니다.
예를 들어 0번째 이름이 홍길동이고 전화번호가 123-4567이라면
strcpy(PhoneBook[0].Name, "Hong Gil-Dong");
strcpy(PhoneBook[0].PhoneNumber, "123-4567");
위와 같은 방식으로 사용 가능합니다.
근데... 이걸 작성하려면 문자열을 어떻게 처리할지, 정렬을 어떻게 할지 정도는 다 알고 계셔야 될 것 같네요.
phone.h에 PhoneBook이 전역 변수 배열로 선언되어 있으니 PhoneBook[0].Name으로 접근 가능합니다.
예를 들어 0번째 이름이 홍길동이고 전화번호가 123-4567이라면
strcpy(PhoneBook[0].Name, "Hong Gil-Dong");
strcpy(PhoneBook[0].PhoneNumber, "123-4567");
위와 같은 방식으로 사용 가능합니다.
근데... 이걸 작성하려면 문자열을 어떻게 처리할지, 정렬을 어떻게 할지 정도는 다 알고 계셔야 될 것 같네요.
0
0
꾸준한 둥근잎꿩의비름
내용 클릭 후 복사하세요.
이 댓글을 삭제하시겠습니까?
[꾸준한 둥근잎꿩의비름]님의 댓글을 신고합니다.
이 게시물을 삭제하시겠습니까?





