PGR21.com
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
Date 2010/04/10 22:28:22
Name AriENai
Subject C++ 및 C 코딩 관련 질문 드립니다
요즘 학교에서 C++ 도 배우고 있고..
C언어로는 개인적으로 간단한 프로그램을 만들어 본다고 끄적 거리고 있어서,
하루종일 프로그래밍만 하고 있습니다.

그런데 하다보니 각종 함수들의 리턴 타입이 대부분 void 타입 이더라구요.
함수 파라미터들은 죄다 포인터(혹은 상수 포인터) 들이구요..

딱히 문제가 되는 것은 아닙니다만, 왠지 함수들이 대부분 void 타입에 포인터들을 파라미터로 쓰니까..
왠지 모르게 잘못 하고 있다는 느낌이 드네요.

제가 코딩할때 나쁜 습관에 빠진 걸까요?? 아님.. 하나의 코딩 스타일로 보고, 전혀 신경 쓰지 않아도 될까요?

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
彌親男
10/04/10 22:31
수정 아이콘
void 리턴 타입의 함수라면 함수를 약간 매크로의 개념으로 사용하시는 것 같은데, 저도 이런 방법을 최대한 배척하는 방향으로 코딩을 하고 있기는 합니다. 왜 그런지는 모르겠지만, 왠지 꺼림칙 해서요..
김연우
10/04/10 22:32
수정 아이콘
좋은 습관이라고는 할 수 없지만, 걱정 안하셔도 될꺼에요.

하다보면 자연스레 '아, 뭐가 더 좋은거구나'하고 좋은 방향으로 걸어가게 되실 테니까요. 그게 아니더라도, 회사에 취업할때쯤 코딩 규약이 있겠죠.
10/04/10 22:33
수정 아이콘
포인터를 너무 많이 쓰는건 결코 옳지 않습니다.

포인터 변수를 패러미터로 보내면 그 값을 조작하면 함수가 종료되도 유지가 되기 때문에 그러는가 본데

유지보수하기 상당히 힘들어지는 결과를 낳을 수 있습니다.

조작된 값을 받을 필요가 있을 시엔 반드시 리턴을 사용하세요.

만약 조작된 값을 여러개로 필요로 한다면[특히 배열이 아닐시에는] 해당 변수에 대해서는 포인터를 걸어줘도 됩니다.

하지만 그 외의 경우에는 그렇게 하지 마세요 아주 안좋은 버릇입니다.
10/04/10 22:46
수정 아이콘
상당한 성능향상을 기대할 수 있는 경우가 아니면 void에 pointer 조합 좋지 않은 경우가 있어요.
예를 들면 10메가짜리 자료형을 받아서 단 1kb 정도만 접근하고 변경할 필요가 있다면 새로이 자료형을 만들어서 리턴하는 것보다는 약 10000배의 성능 향상이 있겠죠. (사실 애초에 이런 경우가 생긴다면 설계를 잘못한 것일 가능성이 높습니다)
Je ne sais quoi
10/04/10 22:55
수정 아이콘
포인터로 뭘 하느냐에 따라 달라집니다. 좋을 수도 있고 아닐 수도 있습니다. 어차피 자기가 좋아하는 프로그래밍 스타일도 계속 변하기 때문에 크게 신경 안 쓰셔도 됩니다.
10/04/10 23:17
수정 아이콘
답변 주신분 모두 감사합니다. 딱히 좋은 습관은 아닌 것 같네요. ^^
10/04/10 23:18
수정 아이콘
call by value, call by reference 개념을 알아야 합니다.
용도를 알고 프로그래밍 할 때 용도에 맞게 사용하면 됩니다.
아무렇게나 만들어도 돌아가게는 할 수 있지만, 코드가 복잡해 질 수록 오류를 범할 위험이 높아지는 겁니다.
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
78927 한국 고등학교에서는 성교육을 어떤식으로 하나요? [5] 탈퇴한 회원2973 10/04/11 2973
78926 오늘 레알 vs 바르샤 경기 중계 볼 수 있는 곳이 있을까요?? [2] GodofDota2150 10/04/11 2150
78924 프테전 배럭더블 질문입니다. [6] Dizzy2686 10/04/11 2686
78922 워크3 시디키랑 디아2 시디키랑 교환하실 분 계신가요? [1] 언데드네버다2293 10/04/11 2293
78921 mp3추천해주세요 ! [5] 1Ryu2369 10/04/11 2369
78920 공무원 근무시간, 휴가일수 실제로 어떤지 궁금합니다. [9] Hi there2500 10/04/11 2500
78919 FLA 파일 인코딩하는 문제입니다. 몽키.D.루피2368 10/04/11 2368
78918 외국 기업의 온라인 리쿠르팅 광고 볼수 있는 방법? [3] 나백수..2177 10/04/10 2177
78917 c 문제 하나더 질문할께요 [11] 회전목마2573 10/04/10 2573
78916 얼마전 올라왔던 20살 여자친구에 관해서 [13] 삭제됨2875 10/04/10 2875
78915 군대에 대해서 질문입니다. [15] 언데드네버다2385 10/04/10 2385
78914 the rebound(한국명 : 사랑은 언제나 진행중) 자막 있으신분 [2] 똘똘이 숨어푸3036 10/04/10 3036
78912 미분방정식. 변수정리 간단한 분수함수 적분법입니다. 도와주세요. [4] 바카스4186 10/04/10 4186
78911 c++문제 하나 질문드립니다 [5] 회전목마2271 10/04/10 2271
78910 VAIO 노트북 포맷하려고 하는 컴맹에게 단비를! [2] 이슬먹고살죠5913 10/04/10 5913
78909 객관적으로 어느 군대가 제일힘들까요? [29] 김간지2555 10/04/10 2555
78908 C++ 및 C 코딩 관련 질문 드립니다 [7] AriENai2111 10/04/10 2111
78907 노래 추천 해주세요. [2] EZrock1973 10/04/10 1973
78906 포병에 대해서 질문드립니다. [28] sl4733 10/04/10 4733
78905 과연 선행인가 악행인가? [24] lookatme2615 10/04/10 2615
78904 강민의 올드보이 본방및재방 시간좀알려주세요 [4] 불타는오징어3791 10/04/10 3791
78903 범죄 스릴러 영화 추천좀 해주세요 :D [13] 솜사탕흰둥이9345 10/04/10 9345
78902 손목시계 추천을 부탁드립니다. 악학궤범a2382 10/04/10 2382
목록 이전 다음
댓글

+ : 최근 6시간내에 달린 댓글
+ : 최근 12시간내에 달린 댓글
맨 위로