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] 탈퇴한 회원2985 10/04/11 2985
78926 오늘 레알 vs 바르샤 경기 중계 볼 수 있는 곳이 있을까요?? [2] GodofDota2158 10/04/11 2158
78924 프테전 배럭더블 질문입니다. [6] Dizzy2695 10/04/11 2695
78922 워크3 시디키랑 디아2 시디키랑 교환하실 분 계신가요? [1] 언데드네버다2300 10/04/11 2300
78921 mp3추천해주세요 ! [5] 1Ryu2382 10/04/11 2382
78920 공무원 근무시간, 휴가일수 실제로 어떤지 궁금합니다. [9] Hi there2506 10/04/11 2506
78919 FLA 파일 인코딩하는 문제입니다. 몽키.D.루피2380 10/04/11 2380
78918 외국 기업의 온라인 리쿠르팅 광고 볼수 있는 방법? [3] 나백수..2185 10/04/10 2185
78917 c 문제 하나더 질문할께요 [11] 회전목마2585 10/04/10 2585
78916 얼마전 올라왔던 20살 여자친구에 관해서 [13] 삭제됨2882 10/04/10 2882
78915 군대에 대해서 질문입니다. [15] 언데드네버다2398 10/04/10 2398
78914 the rebound(한국명 : 사랑은 언제나 진행중) 자막 있으신분 [2] 똘똘이 숨어푸3050 10/04/10 3050
78912 미분방정식. 변수정리 간단한 분수함수 적분법입니다. 도와주세요. [4] 바카스4218 10/04/10 4218
78911 c++문제 하나 질문드립니다 [5] 회전목마2279 10/04/10 2279
78910 VAIO 노트북 포맷하려고 하는 컴맹에게 단비를! [2] 이슬먹고살죠5924 10/04/10 5924
78909 객관적으로 어느 군대가 제일힘들까요? [29] 김간지2568 10/04/10 2568
78908 C++ 및 C 코딩 관련 질문 드립니다 [7] AriENai2120 10/04/10 2120
78907 노래 추천 해주세요. [2] EZrock1988 10/04/10 1988
78906 포병에 대해서 질문드립니다. [28] sl4753 10/04/10 4753
78905 과연 선행인가 악행인가? [24] lookatme2624 10/04/10 2624
78904 강민의 올드보이 본방및재방 시간좀알려주세요 [4] 불타는오징어3803 10/04/10 3803
78903 범죄 스릴러 영화 추천좀 해주세요 :D [13] 솜사탕흰둥이9360 10/04/10 9360
78902 손목시계 추천을 부탁드립니다. 악학궤범a2393 10/04/10 2393
목록 이전 다음
댓글

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