반응형
변수와 상수
※변수
- 데이터를 보관해 둘 필요가 있을 때 사용
- 메모리의 특정 위치에 주어지는 이름
- 선언하지 않은 변수를 사용하면 오류 발생 (반드시 변수를 선언하고 사용)
a에는 10을 대입하고, b에는 10을 대입하고, sum에는 0을 대입하는 코드
그럼 메모리상에 a라는 기억공간, b라는 기억공간, sum이라는 기억공간이 생성
코드를 통해서 대입한 10, 10, 0이라고 하는 값들이 저장
프로그램 중간에서 a+5라고 하는 a값에다가 5를 더해서 다음으로 a에다가 저장하라는 명령어를 사용했다고 한번 가정
이 경우는 앞서 a =10이라는 값이 저장되어 있었지만 원래 a에 저장되어 있던 값 10과 5가 합쳐 저서 15라는 값이 저장
b=b+10 형태로 코드가 기술
b의 값인 10에다가 다시 10을 더해서 그 값을 b에다가 저장
이 경우 원래 b에 저장되어 있던 10의 값이 20으로 업데이트
sum=a+b는 a에는 15라는 값이 저장이 되어 있고 b에는 20이라는 값이 저장되어 있으므로 두 개의 합인 35라는 값이 sum에 저장
※변수의 선언
변수 선언 형식 | 자료형 변수이름 |
※변수의 자료형
※변수의 이름
- 이해하기 쉽도록 의미를 알 수 있도록 적합한 이름을 사용
- 변수명은 시작을 소문자로 한다.
- 식별자 사용 규칙을 따름
- 식별자는 문자, 숫자 , 기호로 구설 될 수 있다.
- 식별자의 첫 문자로 숫자는 사용할 수 없다.
- 같은 문자의 대 · 소문자는 설 다른 식별자이다.
- 식별자 중간에 공백 문자는 들어갈 수 없다.
- 예약어(keyward)를 식별자로 사용할 수 없다
※상수
- 한 번 결정되면 프로그램을 수행하는 동안 변하지 않고 사용되는 값
- 리터럴(literal)상수와 심벌릭(symbolic)상수로 구분
※리터럴(literal)상수
- 사용작 입력한 그대로를 나타내는 것
printf("%d", 100); | 정수형 상수 사용 |
printf("%f", 3.14); | 실수형 상수 사용 |
printf("%c", 'A'); | 문자형 상수 사용 |
printf("Hello C"); | 문자열 상수 사용 |
※심벌릭(symbolic)상수
- 변수처럼 상수에 이름을 붙여서 프로그램 여러 곳에서 사용
- const 예약어 사용하여 선언하는 방법
const 변수 선언 형식 : const 자료형 변수이름 = 초기값
- #defind문 사용하여 정의하는 방법
매크로 상수 선언 형식 : #define 매크로이름 값
const | #define |
#include <stdio.h> int main(void) { const double PI = 3.14159; pirntf("원의 넓이는 %f\n", PI*r*r); PI = 3.14; } |
#include <stdio.h> #define PI 3.14159 int main(void) { pirntf("원의 넓이는 %f\n", PI*r*r); } |
※리터럴상수 VS 심벌릭상수
리터럴상수 | 심벌릭상수 | ||
변경전 | circle_area = 3.14 * radius * radius; | 변경전 | const duoble PI = 3.14; circle_area = PI* radius * radius; |
변경후 | circle_area = 3.14159 * radius * radius; | 변경후 | const duoble PI = 3.14159; circle_area = PI* radius * radius; |
- PI를 3.14159에서 3.14로 수정할 경우 3.14라고 작성한 부분을 모두 찾아서 그 값을 3.14159로 수정 - 작업량도 많아지고 실수하는 경우도 발생 |
- PI = 3.14에서 3.14부분만 3.14159로 수정 - 심벌릭상수를 사용 권고 |
※자료형의 크기 및 표현
- 1byte = 8bit
- 1bit는 부호비트, 즉 마이너스나 플러스나를 구분하기 위해 사용
정수형
- 소수점을 포함하지 않는 정수의 표현에 사용되는 자료형
자료형의 종류 | 자료의 크기 | 표현 범위 |
short | 2byte | -32768~32767 |
int | 4byte | -2147483648~2147483647 |
long | 4byte | -2147483648~2147483647 |
실수형
- 소수점을 포함하는 실수의 표현에 사용되는 자료형
자료형의 종류 | 자료의 크기 | 표현 범위flo |
float | 4byte | -3.4e+38~3.4e+38 |
double | 8byte | -1.7e+308~1.7e+308 |
문자형
- 문자 코드를 저장하기 위해 사용되는 자료형
- 문자형은 정수형 자료형의 특별한 경우
- 문자에 대응하는 ASCll코드 값의 저장으로 정수형의 한 종류로 분류
자료형의 종류 | 자료의 크기 | 표현 범위flochar |
char | 1byte | -128~127 |
- char ch = 'A' ; = char ch = 65;
ASCll | 10진수 | ASCll | 10진수 | ASCll | 10진수 |
A~Z | 65~90 | a~z | 97~122 | 0~9 | 48~57 |
※변수의 초기화와 값의 대입
- 변수를 선언함과 동시에 값을 대입하는 것
※형 변환
- 서로 다른 자료형의 연산에서 발생
- 정수형의 값이 실수형이 되는 경우
※명시적 형 변환
- 프고르램 작성자에 의해 강제적으로 처리되는 형 변환
- cast 연산자
cast 연산자 형식 : (자료형)식 또는 변수
반응형