1. 배열
- 배열은 동일한 자료형의 값 여러 개를 저장하는 연속된 공간 (Like 여러 칸이 연결된 지하철)
- 배열은 값을 넣지 않고 선언만 할 수 있다. 이때 배열에는 쓰레기(더미) 값이 들어가는데, 이를 방지하려면 값을 넣어 초기화 해야한다. ( ex. int arr[10] = {1, 2, 3, 4, 5, 6}; )
- 배열에서 변수 하나에 해당하는 부분을 요소라고 하고, 요소는 인덱스(index)라는 번호로 구분한다. 인덱스는 0부터 시작한다.
- 배열의 각 요소는 aar[0]과 같이 배열명 뒤에 인덱스를 넣은 대괄호를 붙여 접근할 수 있다.
- 배열을 선언할 때 배열 크기는 항상 상수로 선언한다. int array[size]; (x) / int array[10]; (o)
2. 문자열 처리
- 알파벳 & 숫자 : 한 글자에 1byte
- 한글 : 한 글자에 2byte
- 배열 크기는 문자열 크기에 맞춰 정하나 문자열의 크기를 알 수 없을 때는 배열 크기를 넉넉히 선언한다.
- 배열에 문자열을 저장할 때는 항상 문자열의 끝을 알리는 널(null) 문자가 들어가야 한다. 배열 크기를 글자수+1 로 지정하면 마지막 칸에 널 문자가 자동으로 들어간다.
3. 아스키코드
- 미국표준협회에서 제시한 표준 코드 체계
- 알파벳 소문자 a의 아스키코드는 97, 대문자 A는 65, 널 문자(\0)는 0, 숫자 0은 48
프로젝트 : 자라나라 머리카락
4/20 복습 (하면서 깨달았다!)
앞 회차와 똑같은 갯수로 뽑았다면 다를 때까지 다시 조합하게 do-while 설정해놨으므로
do-while 문을 빠져나오면 두 변수의 값이 다르다는 의미이다.
그리고 다음 회차에서 비교할 수 있게 prev변수에 이번 회차의 약병 갯수인 cnt변수의 값을 저장한다.
4/20 복습 (하면서 깨달았다!)
앞에서 아직 뽑히지않은 약병이면 0으로 표시하고, 뽑힌 약병은 1로 표시하기로 했었다.
랜덤으로 뽑았는데 아직 선택되지 않았던 약병이면 그 약병의 값은 0 일것이다.
그런데 이제 뽑혔으니 0을 1로 바꿔 표시해주는 것!
6장은 기본 이론 설명은 쉽다 했는데 프로젝트로 들어가니 어렵다..
중간중간 왜 저걸 저렇게 처리하지? 하고 이해 안가는 부분이 많아서 반복해서 강의 듣고 책 읽어봤는데도 아직도 모르겠는 부분들이 있다...ㅠㅠ
집착하다가 어느 정도는 일단 그냥 넘어가기로...
뒷부분까지 공부하고 다시 보면 이해갈 수도 있겠지...
다시 해보니 확실히 전반적으로 이해가 잘 가는데...
완벽하게 했다고 생각했는데 약병 조합을 총 3번 보여주는게 안되서 빡침......
for문 써서 3보다 작거나 같을 때까지 i++ 해서 반복문 사용 했는데
왜 이렇게 1번째 테스트 밖에 안나오냐구요..............
내 2, 3번째 어디갔는데........
후우 일단 저장하고 머리 식히고 어디가 오류인지 다시 봐야겠다
셀프체크
'Programming Language > C' 카테고리의 다른 글
[나도코딩] 8장. 배열에 배열 더하기 : 다차원 배열 (0) | 2023.04.01 |
---|---|
[나도코딩] 7장.메모리 주소 관리하기 : 포인터 (0) | 2023.03.19 |
[나도코딩] 5장.같은 일 한곳에서 처리하기 : 함수 (0) | 2023.03.13 |
[나도코딩] 4장.조건에 따라 다른 일하기 : 조건문 (0) | 2023.03.10 |
[나도코딩] 3장.조건대로 반복하기 : 반복문 (0) | 2023.03.09 |