?-1 이런 연산자도 있나요?..

kldpgk의 이미지

int get_stack_top(void)

{

return (top

}

자료구조 스택 쪽 공부 하다가 중간에 위에 보시는 바와 같이..

return (top

"이 함수는 스택의 최상단값을 리턴해주는 겁니다"

라고 설명이 되어있는데여..

?-1 무슨뜻인지요... ㅠㅠ

kkk의 이미지

조건연산자입니다.

condition ? A : B

condition이 참이면 A가 결과값이 되고, 아니면 B가 결과값이 됩니다.

질문하신 함수는 top < 0이면 -1을 반환하고, 아니면 stack[top], 즉 스택의 최상단의 값을 반환해주는 일을 하는 함수입니다.

--------

여기서부터는 알아도 그만 몰라도 그만인 부분입니다.

* condition이 평가된 다음에 sequence point가 존재한다.
* A는 condition이 참일때만 평가된다.
* B는 condition이 거짓일때만 평가된다.
* A와 B 둘다 산술형일 경우, 결과값은 A와 B에 의해 산술변환이 적용된 타입을 갖게 된다. (A가 int형이고 B가 double형이면, 조건문이 참이던 거짓이던 결과값은 double형이 됩니다).

A와 B가 취할 수 있는 데이터형에는 제약이 따르는데, 다음과 같습니다.

* 양쪽 다 산술형
* 양쪽 다 동일한 구조체 또는 공용체
* 양쪽 다 void형
* 양쪽 다 서로 호환되는 포인터형
* 한쪽은 포인터형, 다른 한쪽은 널 포인터 상수
* 한쪽은 포인터형, 다른한쪽은 void*형 포인터

간단하게 말하자면, 조건연산자도 역시 다항 연산자이기 때문에, 피연산자인 A와 B 사이에 밀접한 관련이 있다는 뜻입니다. 서로 엉뚱한 타입끼리 더하거나 뺄 수 없는 것과 마찬가지로 조건연산자의 피연산자인 A와 B도 아무거나 갖다 끼울 수는 없습니다. 만약 그런게 가능했다면 C에서도 perl이나 php와 같은 가변형을 쓸 수 있었겠죠.

kldpgk의 이미지

복받으실꺼예여 ㅠ 혹시요!!

while(!gkgk() && preced())

이런식의 while문이 있으면여.. gkgk()앞에 ! 연산자가 있는데 이것도

알수 있을련지요..

혹시 저건.. gkgk()함수의 반대?..라는 뜻인지요;;

aaaa의 이미지

논리 연산자 중의 하나인 not 입니다.

!gkgk()

gkgk()함수의 결과값이 0이면 1이 되고, 0이 아니면 0이 됩니다.

책에 나와있는 기본적인 연산자이므로 일일이 질문을 올리고 답변을 기다리시는 것보다는 가지고 계신 교재를 보시는 것이 빠를 것입니다.

kldpgk의 이미지

감사합니다..

함수 앞에 나와있어 생소해서 ㅠㅠ

정말 감사드립니다~

댓글 달기

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