※ switch 문
보통 if문 대신 사용하며 case를 나눌 필요가 있을 때, if-else를 여러번 쓰기 힘들 때 사용한다.
switch (n) // n은 정수형 변수로 전달되는 인자정보, n에 지정된 값에 따라 case 영역 실행
{
case 'M':
// 조건 입력
break;
case 2:
// 조건입력
break;
default:
// else문과 비슷한 역할
}
이때, break를 하지 않으면 다음 break가 있는 case문까지 같이 실행되기에 적는 것이 좋다.
§ break와 continue
break: 가장 가까운 반복문을 탈출한다.
continue: 실행위치와 상관없이 반복문의 조건검사위치로 이동한다.
이때, 이후부터는 continue는 생략하고 재실행한다.
※ while 문 vs for 문
보통 while문은 특정 종료조건이 나타나기 전까지의 지속적인 실행을 위해,
보통 for문은 반복횟수가 정해져 있는 경우에 많이 사용된다.
※ 비트 연산자
메모리에 할당된 정수값을 bit단위로 논리연산을 실행하기 위해 사용한다.
※ 함수 선언
[함수 return 타입] [함수 이름] (인자) {
/*
*
*/
}
인자 (argument): 함수 호출 시 전달되는 "값"
매개변수(parameter): 그런 인자를 받는 "변수"
※ 지역변수와 전역변수, static과 block scope
지역변수(local variable): 중괄호에 의해 형성되는 영역안에 존재, "스택"이라는 메모리 영역에 할당
전역변수(global variable): 초기화를 하지 않으면 0으로 초기화되며 많이 사용하면 효율이 떨어진다.
§ 지역변수와 Block Scope
특정함수, 명령문의 블록안에 선언된 변수는 블록범위(Block Scope)밖에서는 사용이 불가능하다!
int a = 1;
{
a = 2; // a는 2로 초기화 됨
}
{
int a = 5; // 앞선 a와는 전혀 다른 a
// Block scope가 끝나면 사라짐
}
{
a++; // 여기까지 a값은 2, 아래줄 실행 시 a=3으로 증가
}
printf("%d", a); // 3 출력
§ static: "한 함수 내"에서 "지역변수의 전역변수화"를 해주는 tool
선언된 함수내에서만 접근 가능 (지역변수의 특징)
1회만 초기화, 종료전까지 메모리 공간에 저장 (전역변수 특징)
★ 전역변수와 달리 Block Scope 내부에서만 접근 가능
'C | C++ > C언어' 카테고리의 다른 글
this.Code(5)_ 포인터배열 & 배열의 포인터, 배열기반 포인터, 포인터의 포인터 응용 (0) | 2022.11.06 |
---|---|
this.Code(4)_ 문자열 표현, Call-by-Value(함수인자 전달), 포인터와 상수화 ★★★★★ (0) | 2022.11.06 |
this.Code(3)_ 배열과 포인터, 포인터에 의한 간접접근과 직접접근 (2) | 2022.11.06 |
this.Code(1)_ 입출력과 여러연산자, return 0; (0) | 2022.11.06 |
this.Code(0).prev_ C언어 (0) | 2022.11.06 |