쓰레기 값
메모리 내부에는 쓰레기 값이 저장되어있다.
→ 메모리는 우리만 사용하는 것이 아니라 다른 프로그램들이 사용하기도 하는데 그때 사용되고 남겨진 값들을 쓰레기 값이라고 한다.
int변수 선언 및 초기화
int main() {
int a;
}
위처럼 변수를 선언하면 int형은 4바이트이기 때문에 아래와 같이 메모리가 생성된다.
[ | | | ]
100 101 102 103
int main() {
int a;
a = 10;
}
따라서 우리는 쓰레기 값을 없애고 다른 값을 넣어줘야한다. 이게 바로 초기화라고 한다.
[ 0|0|0|0|0|0|0|0 | 0|0|0|0|0|0|0|0 | 0|0|0|0|0|0|0|0 | 0|0|0|0|1|0|1|0 ]
100 101 102 103
double 변수 선언 및 초기화
int main() {
double da;
da = 3.5;
}
부호비트(1bit) / 지수부(11bit) / 소수부(52bit)
[ 0|1|0|0|0|0|0|0 | 0|0|0|0|1|1|0|0 | 0|0|0|0|0|0|0|0 | 0|0|0|0|1|0|1|0 | 0|0|0|0|0|0|0|0 | 0|0|0|0|0|0|0|0 | 0|0|0|0|0|0|0|0 | 0|0|0|0|0|0|0|0 ]
200 201 202 203 204 205 206 207
char 변수 선언 및 초기화
int main() {
char ch;
ch = 'A';
}
char의 비트 사이즈는 8이다.
-> 그 이유는 char는 아스키 코드 값으로 번역이 되는데 아스키 코드는 0부터 127까지만 있기에 8비트 즉, 256안에서 헤결할 수 있기 때문이다.
[ 1|0|0|0|0|0|0|1 ]
300
char 배열 변수 선언및 초기화
char str[6] = "apple";
-> [[a][p][p][l][e][\\0]]
위에서 \0은 null 값으로 문자열의 끝 값을 표시하는 값이다.
기존 배열에 다른 값 저장하기
char str[8] = "apple";
-> [[a][p][p][l][e][\\0][][]]
str = "banana"; (x)
대입 연산자 사용이 불가한 이유
- 대입 연산자는 자료형의 크기가 일정해야 수행할 수 있는데 비해 char 배열은 선언에 따라 크기가 달리지기 때문에 사용불가
- 배열명은 주소 상수이기에 대입 연산자 왼쪽에 사용할 수 없다.
이럴 때 strcpy라는 함수를 사용해준다
'문법관련 > C' 카테고리의 다른 글
5. scanf 함수 (1) | 2024.06.10 |
---|---|
4-2. 자료형 마다 저장할 수 최대값과 최솟값 (0) | 2024.06.03 |
3. 상수와 데이터 표현방법 (0) | 2024.05.31 |
2. printf - 형식지정자와 이스케이프 시퀀 (0) | 2024.05.31 |
1. 비트와 바이트 (0) | 2024.05.31 |