세미콜론(;)에 이렇게 깊은 뜻이...

prether의 이미지

C/C++이나 JAVA 언어를 학습할 때 하나의 statement는 세미콜론(semicolon)으로 끝났다는 것을 배웁니다. 저도 처음에는 그러려니 하며 배웠지만 최근 영문법 관련 자료를 읽으면서 세미콜론을 붙이는 논리적인 이유가 있다는 것을 알게되었습니다.

국문법에는 세미콜론이라는 punctuation mark의 대한 활용법이 없지만 영문법에는 그것에 대한 규칙이 정해져 있습니다.

가장 중요한 활용 예중 하나가 독립적인 두 영문장이 밀접한 관련이 있으나 등위 접속사(예를 들어, and, or)로 연결되지 않은 경우에 두 문장이 밀접히 관련 되었음을 나타내기 위해 사용합니다. 그 실례는 다음과 같습니다.

"A man chooses; a slave obeys."

위 두 문장은 의미상 but으로 연결되어 있지만, 접속사가 생략된 경우, 두 문장을 위와 같이 세미콜론으로 연결해줘서 읽은 이에게 두 문장이 밀접하게 연결되었음을 깔끔하게 나타냅니다.

따라서 C/C++ programming language에서 여러 statement 나열은 아래와 같은 것을 의미하지만

statement_A, and (then) statement_B, and (then) statement_C

and를 생략하고 대신 세미콜론을 넣어서

statement_A; statement_B; statement_C

라고 간결하게 표현한 것이라 볼 수 있습니다.

Forums: 
shint의 이미지

말씀하신거 생각나서 아래 &&를 ;로 대체해봤더니.
if(a == 10 && b == 20)
{
}
에러만 생기는군요 ㅋㅋ... 지송
if(a == 10 ; b == 20)
{
}

매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.

----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.

매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.

각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com

sisuc의 이미지

글과 상관없는 잡담이지만,

매일 1억명이 사용하는 프로그램이라면 OS개발밖에 없을거 같은데 아닌가요..?

위대한 한글

위대한 한글

ironiris의 이미지

스타크래프트, 와우 등등.

sisuc의 이미지

와우 유저가 1억명 되나요?

위대한 한글

위대한 한글

jamieee의 이미지

그래서 어셈의 주석이 ;로군요~!

sjno의 이미지

엑셀은 1억명 가볍게 넘을듯요.

obbaya의 이미지

expression? statement! (__)

nagaman의 이미지

1억!!!!

cuky의 이미지

c언어에서 세미콜론이 종결자로 사용되는 이유가..
컴파일러에게 알려주는 것 이외의 논리적인 이유는 없는걸로 기억해요.

저도 예전에 궁금해서 찾아본 기억으로는,,
예전에 ANSI C표준 만들때 미국에서는 마침표를,
유럽은 다른것을 제안하였다가,, 합의본것이 세미콜론이어서 세미콜론으로 정해진걸로 알고있습니다.

magingax의 이미지


"A man chooses; a slave obeys."

혹시 바이오쇼크 ?

LISP 사용자모임
http://cafe.naver.com/lisper

LISP 사용자모임
http://cafe.naver.com/lisper
방송기술 개발업체
http://playhouseinc.co.kr

lch831009의 이미지

기본에 충실한 사람

기본에 충실한 사람

karib1128의 이미지

흠.. 그런것이

speed-racer의 이미지

요즘은 "저거 이상하다", "저건 좀 아니다"를 뜻하는 표현으로도 쓰이는 것 같습니다.

-_-; 이렇게.

일본에니메이션에서 "저건 좀 아니다"라는 표현으로 얼굴에 커다란 땀방울이 흐르는 것에서 따온 듯 해요. ;가 땀방울처럼 보이니까요.

예:

"삼성이 모범기업이라니;;;"

"헐;;"

hwiorb의 이미지

이모티콘 형태로 -_-;; ^^;;
이렇게 사용한지는 꽤 돼었지요.
이것이 일본의 영향을 받은지는 잘모르겠지만요.

nil.

surink의 이미지

정말 좋은 이야기네요
좋은 정보 감사드려요!!!

공돌이pooh의 이미지

그래서 어셈의 주석이 ;로군요~!

speed-racer의 이미지

cleansugar의 이미지

사이트 이름이 O로 시작하네요.

___________________

http://blog.aaidee.com

재벌 2세가 재벌이 될 확률과
금메달리스트 2세가 금메달을 딸 확률이 비슷해지도록
자유오픈소스 대안화폐를 씁시다.

아이디의 아이디어 무한도전
http://blog.aaidee.com

귀태닷컴
http://www.gwitae.com

cleansugar의 이미지

;)처럼 이모티콘에서도 쓰인다는 생각이 드네요.

___________________

http://blog.aaidee.com

재벌 2세가 재벌이 될 확률과
금메달리스트 2세가 금메달을 딸 확률이 비슷해지도록
자유오픈소스 대안화폐를 씁시다.

아이디의 아이디어 무한도전
http://blog.aaidee.com

귀태닷컴
http://www.gwitae.com

트비터의 이미지

미국도 북한도 쓰는데 안쓰다니

cleansugar의 이미지

그리고 ;에 깊은 뜻이 있다고 해서 말씀드리는데요.

특수문자는 검색이 안된다는 특징이 있죠.

그래서 검색엔진이나 게시판에서 특수문자로 암호를 남기면 검색이 안됩니다.

게시판에 따라서 특수문자까지 검색할 수 있는 게 있을지도 모르고 없다면 만들 수도 있을 겁니다.

___________________

http://blog.aaidee.com

재벌 2세가 재벌이 될 확률과
금메달리스트 2세가 금메달을 딸 확률이 비슷해지도록
자유오픈소스 대안화폐를 씁시다.

아이디의 아이디어 무한도전
http://blog.aaidee.com

귀태닷컴
http://www.gwitae.com

cleansugar의 이미지

최근 개봉한 영화 제목에 세미콜론이 들어갔습니다.

시라노; 연애조작단

뮤비에 보면 등장인물별로 상징 문장부호가 있습니다.

▶▶엄태웅 ×이민정 ÷최다니엘 ±박신혜

상상력을 자극합니다.

이거 무슨 뜻일까요?

엄태웅만 빨리감기인데 다른 사람은 수학 기호입니다.

마이너스와 플러스가 아니라 빨리감기와 플러스마이너스가 쓰였네요.

마이너스가 부정적이어서 그랬을까요?

원래 의도와 무관하게 진보, 기독교, 사회주의, 토착신앙이나 음양론이란 상징을 써도 될 것 같습니다.

다른 의견도 알려주세요.

___________________

http://blog.aaidee.com

댓글 첨부 파일: 
첨부파일 크기
Image icon 73318_P85_091820.jpg203.48 KB

재벌 2세가 재벌이 될 확률과
금메달리스트 2세가 금메달을 딸 확률이 비슷해지도록
자유오픈소스 대안화폐를 씁시다.

아이디의 아이디어 무한도전
http://blog.aaidee.com

귀태닷컴
http://www.gwitae.com

yoojioh의 이미지

빨리 감기 같기도 하고 왠지 right shift >> 인거 같은 생각도 드네요

그럼 왠지 저 자체로 하나의 함수 같기도 한데요

엄태웅을 이민정/최다니엘 만큼의 상수로 amplify 시키고 박신혜 만큼의 오차를 가지는 정도를

2의 승수만큼 어떤 수에 곱해주는 함수일까요 ㅋㅋㅋ

tjdtn1001의 이미지

-_-;;;;;;;;;;;;;;;;

oltraman의 이미지

요즘 학교에서 컴파일러에 대해서 간단하게 배우고 있는데..

;;;; 에 이런 뜻이 숨어 있을 줄은 몰랐네요!!

all is well

bt의 이미지

http://theoatmeal.com/comics/semicolon

영어에서 세미콜론의 사용법.

gustlr1222의 이미지

시퀀스 포인트라고 해야 하나
한 명령이 완료되야할 지점을 나타내는 목적으로, 문법적으로 없냐 있느냐에 따라 행동이 달라질 때도 있지 않나요? 약간 틀린 이야기인가...

while문 후 바로 ;를 넣냐 넣지 않느냐는 큰 차이를 나타낼 때가 있지요

facebook.com/gustlr1222
IT와 관련된 소식을 함께 나누실 분 모두 환영합니다. 타임 라인에 글을 남겨주세요^^

kkt49의 이미지


if(true)
; // nothing
else{
...
}

oosap의 이미지

따라서 C/C++ programming language에서 여러 statement 나열은 아래와 같은 것을 의미하지만
statement_A, and (then) statement_B, and (then) statement_C
and를 생략하고 대신 세미콜론을 넣어서
statement_A; statement_B; statement_C
라고 간결하게 표현한 것이라 볼 수 있습니다.

위의 진술(Statement?) 은 Expression Statement 에 대해서는 맞는 이야기 입니다. 하지만 그냥 Statement 에 대한 이야기라고 하면 틀리게 됩니다.
Java 에서는 Block Statement, if Statement, for Statement 등등은 세미콜론으로 끝나지 않습니다만 그것들도 엄연히 Statement 입니다. 우리가 for 문, if 문, while 문 이라고 부를 때 그 문이 바로 Statement 인 셈이네요...

[참조]
http://www.ics.uci.edu/~pattis/ICS-21/lectures/statements/
C99 표준(url 은 모르겠습니다.)

딴지는 아니고요, 저도 이 글에서 통찰을 얻었고 세미콜론에 대해 주의깊게 보아왔었습니다. 이번에 관련 내용을 발견해서 이 쓰레드에 소개해 봅니다.

원글에서 '여러 statement 나열은' 이라는 표현을 '여러 expression statement 나열은' 이라고 바꾼다면 정확한 표현이 될 것 같습니다.

Thanks for being one of those who care for people and mankind.
I'd like to be one of those as well.

댓글 달기

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