본문 바로가기

Programming/C Language

C 정리1

메모리에 저장되는건 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