@@

1@ 개요

2@ 다른 언어와의 비교.

3@ 어려움) 언제, 어디에 써야 하는가?

@@@


@@1@ 개요

 예시

 #include <iostream>
 
 int main()
 {
     
     std::cout << 1 + ; 1
     std::cout << "Hello C++ World"; 2
     
     int i = ; 3
     int j = i + ; 4
     
     printf("google") ; 5
     
     return 0;
 }


 줄 가장 오른쪽의 ";"가 세미콜론이야. C/C++에서 세미콜론은 "의미를 끝내는" 기호야. 위의 코드를 찬찬히 해석해보면,

1. 1 + 1값을 출력

2. "Hello C++ World" 출력

3. i 에 3을 대입

4. j 에 i + 2를 대입

5. "google" 출력


 위에 존재하는 하나의 명령 각각마다 하나의 세미콜론이 끝에 붙지. 지금은 이렇게만 알아도 돼. 강좌를 보면 볼 수록 감이 잡히게 될 거니까 걱정하지마.


@@2@ 다른 언어와의 비교

 1. 자바, C#, Rust 같은 C-family 언어들은 태생이 C/C++이라서 전부 하나의 명령 끝에 세미콜론을 붙여. 

 2. 파이썬, 파이썬은 줄바꿈과 탭이 문법적으로 명령을 구분해. 그래서 C/C++과는 달리 각이 잡히도록 코딩할 수 밖에 없어.

 3. 자바스크립트도 세미콜론으로 끝을 맺어.


 C언어는 워낙 오래되고 많이 사용되어서 수많은 언어들에 그 영향을 주었어. 소/중괄호와 세미콜론이 그 예지.


@@3@ 언제 어디에 써야 하는가?

 C/C++의 세미콜론은 하나당 하나의 함수만 허용해. 즉 두 개 이상의 함수가 있을 수 없어.

 
 int main()
 {
     pirntf("google"printf("googol"); // 금지!!!!
     printf("google"); // 허용
     return 0;
 }


 그래서 코딩의 편의성을 위해, 연산자가 있어. 연산자는 여러 개의 함수를 하나의 함수로 만드는 역할을 해.

 
 int main()
 {
     int i = 1 + 1 + 1;
     // int i = add(add(1, 1), 1); 과 같음.
     
     
 }


 연산자는 결국 하나의 함수가 돼. 그래서 세미콜론과 일대일대응이 성립되지. 물론 함수 그 자체도 함수의 매개변수로 넣을 수 있어.


@@@

C++ statements(서술문에 관하여)