04.01 - 블록 (block)
블록 (=복합 명령문)
복합 명령문(compound statement)이라고도 불리는 블록(block)은 마치 한 명령문같이 보이는 명령문의 그룹이다. 블록은 {
기호로 시작하고 }
기호로 끝나며, 기호 사이에 실행할 명령문을 배치한다. 블록은 단일 명령문이 허용되는 모든 위치에서 사용할 수 있고, 블록 끝에는 세미콜론(;
)이 필요하지 않다.
지금까지 포스트에서 함수를 작성할 때 이미 블록을 사용해본 경험이 있다.
int add(int x, int y)
{
return x + y;
}
int main()
{
int value(0);
add(3, 4);
return 0;
}
블록은 다른 블록 내부에 중첩될 수 있다. 지금까지는 if
문에서 조건이 true
일 때 단일 명령문을 실행했다. 그러나 블록은 단일 명령문이 허용되는 모든 위치에서 사용할 수 있으므로 중첩된 명령문 블록을 사용하여 조건이 true
인 경우 if
문에서 여러 명령문을 실행할 수 있다.
#include <iostream>
int main()
{
std::cout << "Enter an integer: ";
int value;
std::cin >> value;
if (value >= 0)
{
std::cout << value << " is a positive integer (or zero)" << std::endl;
std::cout << "Double this number is " << value * 2 << std::endl;
}
else
{
std::cout << value << " is a negative integer" << std::endl;
std::cout << "The positive of this number is " << -value << std::endl;
}
return 0;
}
블록 내부에 블록을 배치할 수도 있다.
int main()
{
std::cout << "Enter an integer: ";
int value;
std::cin >> value;
if (value > 0)
{
if ((value % 2) == 0)
{
std::cout << value << " is positive and even" << std::endl;
}
else
{
std::cout << value << " is positive and odd" << std::endl;
}
}
return 0;
}
중첩된 블록(nested block) 수에는 제한이 없다.
번역: 이 포스트의 원문은 http://www.learncpp.com/cpp-tutorial/41-blocks-compound-statements/ 입니다.