비트 단위 연산자와 비트 패턴
1 비트에 0 또는 1 중 한 가지 값을 저장 가능
C언어의 가장 작은 자료형은 1바이트
비트 패턴과 16진법
C언어는 2진법 상수 표현을 제공하지 않음
2진법 대신에 소스 코드에서는 표현하기 쉬운 16진법을 주로 사용
시프트 연산자
변수의 값을 지정한 비트 수만큼 왼쪽(<<) 또는 오른쪽(>>) 으로 비트를 이동
오버 플로 : 비트가 왼쪽으로 이동해서 사라지는 것
언더 플로 : 비트가 오른쪽으로 이동해서 사라지는 것
2^n으로 생각하기 << 곱, >> 나눗셈
비트 연산자
비트 단위로 AND, OR, NOT, XOR 연산을 수행
AND 연산 : a,b 값이 둘다 1이어야지만 연산의 결과가 1
OR 연산 : a,b 값이 둘다 0인 경우에만 연산의 결과가 0
NOT 연산 : 현재 비트 패턴이 반전 (0이면 1, 1이면 0)
XOR 연산 : a,b 값이 같으면 연산의 결과가 0 다르면 1
지역 변수
전역 변수
전역 변수 주의점
함수가 전역 변수에 종속적이 된다
함수의 독립성을 강조하는 C언어의 장점을 퇴색 시킨다
전역보다 지역을 우선해서 처리
extern 키워드
소스 파일을 분리할 때 발생하는 오류
statci 키워드
전역 변수 앞에만 사용가능
특정 소스 파일에서만 전역 변수 사용하기
특정 함수에서만 전역 변수 사용하기
const 키워드
자료형이 같은 변수들을 그룹으로 묶어서 관리
[ ]를 사용하여 저장 공간을 몇개 만들지 명시
배열은 사용자 정의 자료형이다
문자열을 다루는 C 내장 함수
str 로 시작하는 문자열 표준 함수들은 string.h 파일에서 함수의 원형 제공
strlen = string + length 문자열의 길이를 구하는 문자열 표준 함수
strcpy = string + copy 문자열을 복사하는 문자열 표준 함수
strcat = string + concatenation 문자열 뒤에 다른 문자열을 덧붙이는 문자열 표준 함수
2차원 데이터를 1차원 데이터로 변환하기
{(행번호 - 1) * 열개수} + 열번호 - 1
1차원 데이터를 2차원 데이터로 변환하기 (행)
행번호 = (돌 번호 / 열 개수) + 1
1차원 데이터를 2차원 데이터로 변환하기 (열)
열 번호 = (돌번호 % 열 개수) + 1