[완료]포인터형 선언시,

parrier의 이미지

포인터형 선언시 괄호의 차이에 따라서 다르다는 것은 이해했습니다. 즉,

int *mail();

의 경우는 int 포인터 형을 반환한다는 것이고,

int (*mail)();의 경우는

int 값을 반환하는 함수 포인터 mail을 선언하는 것이라는 것이지요. 맞나요?

그런데,

int *mail();과
int* main();은 어떤 차이가 있나요? 즉 astrix가 반환형에 붙어있을 때와 함수명에 붙어있을때(혹은 변수명에 붙어있을때)

차이가 무엇이 있을까요?

검색을 해보려고 해도 무엇을 가지고 검색을 해야할지 모르겠네여.

klara의 이미지

차이 없습니다. 참고로 전후로 양쪽다 공백이 들어가도 됩니다.

neogeo의 이미지

http://www.lysator.liu.se/c/ANSI-C-grammar-y.html

여기의 declator , function_definition , direct_declarator등을 참고하십시오.

공백문자가 있고 없고는 의미가 없습니다. 각 lexical particle 이 상황에 따라 어떻게 해석되나 보시면 확실합니다.

표준으로 위에 문법을 어떻게 해석하냐는 조금 어려운 문제입니다. 이러한 ANSI C grammer yacc 파일이 때로는 애매한 문법이

어떻게 다르게 해석되는지 아는데 좀 더 확실한 방법일때도 있습니다. ( 보기엔 매우 어렵지만요 ㅠ_ㅠ;; )

Neogeo - Future is Now.

Neogeo - Future is Now.

semmal의 이미지

문법을 해석하는 것은 compiler지만, 그 문법을 쓰는 것은 결국 사람이기 때문에, 어떤 경우에 어떻게 사용해야할까하는 의문을 가지는 것은 상당히 좋은 자세라고 생각합니다.

T*와 T *는 언어적 의미로는 아무런 차이가 없지만 구별해서 쓰려고 하면 쓸 수 있을 겁니다.
예를 들어서 T*은 Tpointer라는 타입이고 T *는 T의 pointer라고 해석하는 것이지요.
프로그래밍을 하다보면 이 둘의 차이가 미묘하게 생깁니다.

개인적으로는 T*라고 쓰기를 좋아합니다. 제가 하는 프로그래밍 대부분에서 T*에 담겨있는 것이 중요하다고 생각하지, 담겨있는 것의 주소를 원하는 것이 아니니까요.
------------------------------
How many legs does a dog have?

------------------------------
How many legs does a dog have?

parrier의 이미지

모두의 진지한 답변, 정말 항상 감사하게 생각드리고 있습니다.

어떻게 보면 아무것도 아닌데 인터넷에서 찾아보면 될 것을 ... 이라고 생각하실 수도 있으나 T_T

특수 문자 등은 검색이 원하는 대로 잘 안되더라구요. 게다가, 다양한 생각을 가지신 분들께서

도와주셔서 항상 피가되고 살이되는 것 같네요. 감사합니다 .:)

-_-v

댓글 달기

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 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • 사용할 수 있는 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>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • You can use Textile markup to format text.
  • 사용할 수 있는 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>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 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>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.