2 minute read

★자료형 : 데이터의 형태를 지정한다. 대입 혹은 연산시에 자료형이 일치해야 한다.

자료형 서식문자 크기
char %c 1 byte 정수(문자)
int %d 4 byte 정수(기본)
float %f 4 byte 실수
double %lf 8 byte 실수(기본)
long %ld 8 byte 정수(확장)
char[n] %s n byte 문자열

char는 정수로 취급되지만 ASCII코드값을 사용한 문자로 표시된다.

★ASCII Code : American Standard Code for Information Interchange 영문자, 숫자, 특수기호등에 숫자값을 지정한 표

변수 선언시 메모리의 일부가

15461386431354864318643164563135...

이렇게 되었있을 때

int num;

이렇게 변수를 선언만 한다면 쓰레기값이 들어가있다. 즉 변수를 정상적으로 사용할 수 없다.

15461386431[3548]64318643164563135...

여기서 [3548]이 쓰레기부분이다. 이제 num이라는 변수에 11이라는 값을 준다면

num = 11;

쓰레기값이 지정된 값으로 대체되게 된다.

15461386431[0011]64318643164563135...

★연산자 : 변수나 상수로 표현된 값들 사이의 연산을 수행해주는 기호

  1. 산술 연산자 : +, -, *, /, %
  2. 크기 비교 연산자 : >, >=, <, <=, ==, !=
  3. 논리 연산자 : 참 : 1, 거짓 : 0
    0이 아닌 모든 숫자는 참으로 간주한다 (Non-zero)
  4. 대입 연산자 : =, 우측의 값을 좌측 변수에 대입한다.
    값이 이사가는 것이 아니라 복사 되는 것.
  5. 복합 대입 연산자 : +=, -=, *=, /=, %=
    산술 연산과 대입연산을 한번에 한다.
  6. 논리 연산자 :
    논리합 : || (OR) : A || B -> 둘중 하나라도 1이면 1
    논리곱 : && (AND) : A && B -> 모두 1이어야 1
    부정 : ! (NOT) : !A -> A의 반대결과
  7. 삼항 연산자 : (조건) ? 참 : 거짓
int result = (num % 2) ? 1 : 0;
  1. ++a : 선증가 (전치) : 먼저 값을 증가한 후 실행
    a++ : 후증가 (후위) : 실행문이 끝난 이후 증가됨

★정수와 정수를 연산하면 정수가 계산된다. 실수와 정수의 연산의 결과는 실수이기 때문에 연산 사이의 결과값을 실수로 형태를 바꾸어주면 소수점까지 출력, 값의 자료형을 바꾸어 주기 위해서 (자료형)값 의 형태로 작성한다.

float a = (float)n1 / n2;

★코드에서 명시적으로 자료형을 변경하는 일을 [강제 형변환 or 캐스팅]이라고 한다

★float과 double은 내부연산과정이 다르기 때문에 섞어서 계산하면 값이 튕길수 있으니 하지말자

★배열(Array) : 같은 자료형의 여러 변수를 묶어서 관리하는 형태

int arr[5] = { 1, 2, 3, 4, 5 };	//	선언 및 초기화
int arr2[5];	//	배열 선언

★배열 선언시에는 [길이]를 지정해 주고, 접근할 떄도 [인덱스]를 사용해 접근한다. 여기서 인덱스는 0부터 시작하므로 길이가 5인 배열에서는 0번째 값부터 4번째 값까지 존재하는 모양새가 된다.

이렇게 배열을 사용하게 되면 n개의 변수를 반복문을 통해 더 쉽게 제어할 수 있게 된다.

★C언어는 문자열을 위한 자료형이 없으므로 문자열을 저장하기 위해서 문자형 배열 => char[] 을 사용 문자열의 마지막에는 마지막임을 명시하는 NULL문자(\0값)가 존재한다.

★배열의 이름은 그 자체로 주소를 의미한다

Categories:

Updated: