C에서 함수 중첩하는건 별로 안 좋나요???

sof.midnight의 이미지

C를 배운지 얼마 안된 꼬꼬마인데..

파이썬을 학교 수업으로 들었을 때 프로그래밍을 하다가 문득 함수 중첩을 해보았는데 잘 되더라구요.

그래서 그걸 C로도 가져왔는데 문제 없이 컴파일 되고 동작은 되는데.

검색을 해보니 http://snowall.tistory.com/2541 요기 게시물 덧글에 함수 중첩에 대해 토론?이 있더라구요.

결론은

C에서 함수 중첩을 하는게 안 좋은 프로그래밍 습관일까요??

너무 질문이 모호하나;;;

snowall의 이미지

제 글이군요. -_-;

gcc에서만 지원하는 기능이라고 하네요. 물론 저도 다른 컴파일러에서 테스트해보지는 않았고, 찾아보지도 않아서 다른 컴파일러에서 되는지 안되는지는 모릅니다. 어쨌든, 컴파일러마다 지원하고 안하고 여부가 갈리는 코드는 쓰지 않는것이 좋겠죠.

그리고 코드 이해하기도 힘들어지구요. 파이썬에서는 잘 되겠지만, C는 파이썬과 다른 언어니까요.

안좋은 습관이라고 생각합니다.

피할 수 있을때 즐겨라! http://melotopia.net/b

chadr의 이미지

snowall님이 안좋은 습관이라고 하신건 C에서 기본적으로 지원하지 않은 기능인데 GCC에서 확장으로 지원하는 기능이므로 다른 컴파일러에서는 컴파일 되지 않고 확장성이 떨어지기 때문에 안좋은 습관이라고 하신것 같네요.

파이썬과 같이 해당 기능이 지원되는 언어의 경우에는 쓰시면 됩니다. 중첩함수가 안좋은 습관은 아닙니다.
오히려 간편히 내부적으로만 사용되는 짧은 코드의 경우에는 코드은닉도 되고 관리면에서 오히려 편리합니다.

-------------------------------------------------------------------------------
It's better to appear stupid and ask question than to be silent and remain stupid.

snowall의 이미지

네 저도 파이썬에서 그렇게 쓰는것에 대해서는 그닥 반대하지 않습니다. 저는 안 씁니다만. ㅎㅎ

피할 수 있을때 즐겨라! http://melotopia.net/b

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.