C언어 포인터에서 ptr* 과 *ptr 은 무슨 차이가 있나요?

jcarlos의 이미지

안녕하세요
C언어 초보인데요..
프로그래밍을 하다보면 ptr* 처럼 포인터가 뒤에있는게 있고 *ptr 처럼 앞에 있는게 있는데 차이점이 뭔가요?

익명 사용자의 이미지

차이가 없습니다. 단지 스타일의 차이에요.

그런데 사람들 마다 의외로 자기의 스타일을 강조하는 경향이 있습니다.

그리고 C++의 경우는 type 바로 옆에 *를 붙이는게 의미적으로 자연스럽다고 생각하는 사람이 많습니다.

int* a = ...;
MyClass const& b = ...;

하지만 여러 개의 포인터를 한 줄에 선언한다면 c++라도 다음처럼 해야겠죠..

int *a, *b, *c...

익명 사용자의 이미지

위의 답글은 문제를 잘 못읽고 쓴 겁니다. 무시해 주세요. 죄송합니다.

jcarlos의 이미지

아닙니다..감사합니다

익명 사용자의 이미지

ptr* 의 예를 들어주세요.

mirheekl의 이미지

말씀하신 ptr이 선언된 변수명인지 아니면 자료타입인지가 애매하네요.

암튼 둘 다 따져보면.

ptr이 변수명이라면.

int *ptr = NULL; // 평범한 선언문
*ptr = 100; // 평범한 할당문
void ptr* = // 이건 제가 알기론 불가능
ptr* // 이것도 불가능 (뭐.. 곱셈 연산이라면 캐스팅같은걸로 가능할 수도 있겠지만, 곱셈 연산자를 물으신건 아니죠?)

ptr이 타입이라면.

ptr* something = NULL; // 역시 평범한 선언문.
*ptr something // 불가능

제가 알고 있는 것이 맞다면, 결국 *ptr이 쓰였다면 ptr을 변수로 보시면 될것 같고, ptr*를 보셨다면 ptr을 타입으로 보시면 될것 같습니다. 실제 코드를 읽을 때 헷갈일 일은 전혀 없겠지만요.

--

jouonal의 이미지

* 의미는 두가지가 있는것으로 알고 있습니다.
1. int *a; 같은 경우 주소값을 저장하는 변수라는 뜻과
2. *a=10 이 같은 경우는 주소 참조 연산자로 쓰여 값을 지정할수 있죠

그리고 a* 같은 경우는 주소와 관련되서는 쓰이지 않는 것으로 알고있습니다.

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.