메모리에 저장되는건 0,1 뿐이며 메모리에 동일하게 저장되어 있더라도 여러 방법으로 읽을 수 있음.
따라서 메모리에 데이터를 읽고 쓸 방법 ( 자료형 ) 을 정해줘야 한다.
-변수의 선언과 초기화
지역변수는 초기화하지 않으면 쓰레기값이 들어가고 전역변수와 static변수는 초기화하지 않으면 0으로 초기화 된다.
문자열 상수 - 0개 이상의 문자들의 sequence , 문자열의 끝을 알려주기 위하여 맨 뒤에 Null ( '\0' )이 붙음.
심볼릭 상수 - 값을 변경할 수 없는 변수로 const 키워드를 사용. 반드시 선언과 동시에 초기화해야 한다.
연산자
산술 연산자 : + , - , * , / , %
관계 연산자 : > , >= , < , != , == ...etc
논리 연산자 : && , ||
증감 연산자 : ++ , --
비트 연산자 : & , | , ^ , <<, >>, ~
대입 연산자 : += , -= , &= , |= , ^= ...
조건 연산자 : ? :
( 조건 연산자 expression1 ? expression2 : expression3 -> expression1이 참이면 expression2의 값을 갖고 , 거짓이면 expression3의 값을 갖음. )
증감연산자의 경우에는 한 Expression에 하나만 쓰는것이 좋다.
형변환
같은 자료형끼리만 연산이 가능함, 따라서 연산을 위해서는 자료형을 맞춰주어야 한다.
-암시적 ( Implicit ) 형변환 : 묵시적 형변환이라고도 하며 컴파이러가 알아서 적당히 변경시킨다.
( 작은 자료형을 큰 자료형으로 알아서 바꿈 , ex : int vs long =long , float vs double = double )
-묵시적 ( Explicit ) 형변환 : Casting 이라고 하며 지정한 자료형으로 변경시킴.
Format String
%d : 10진수 정수 ( Decimal )
%u : 부호없는 10진수 정수 ( Unsigned Decimal )
%o : 부호없는 8진수 정수 ( Unsigned Octal )
%x : 부호없는 16진수 정수 ( Unsigned Hexadecimal )
%c : 문자 하나 ( Single Character )
%s : 문자열 ( String )
%f : 10진수 실수 ( Double )
%p : 포인터
Statement 와 Block
- Statement : 세미콜론으로 구분되는 Expression ( a=b+c ; , a=func(b); )
- Block : 중괄호로 묶인 Statemnt들의 집합 ( Block은 한 개의 Statement와 같음 )
조건문에서 expression이 참인지 검사할때 ,
if ( expression != false ) statemet; 보다는
if ( exprssion ) statement; 이 표현이 더 직관적이다.
if vs switch
- 분기가 많고 조건이 순차적일수록 swtich가 더 빠르다.
( if는 매번 cmp 연산을 하는 반면 , switch는 점프테이블을 이용하기 때문 )
'Programming > C Language' 카테고리의 다른 글
C 정리2 (0) | 2018.05.26 |
---|---|
포인터 (0) | 2017.11.29 |
Data Structure 배열 (0) | 2017.11.29 |
내용 보충 (0) | 2017.11.09 |
반복문 예제 (0) | 2017.11.08 |