:

chapter.18-21 C언어의 기본 문법: 데이터보다 '프로세스'에 중점이 맞춰져있음 절차적 언어이며 그래서 더 이해하기 쉬움 class: 없음/ 함수: 전역 함수(어디에서나 호출 가능) 변수: 함수
섹션1: 13,14,15,16,17Hello World 전처리기 processor -> 컴파일을 하기 전 텍스트를 복붙해줌. 컴파일 후 출력 결과 주석: C89에서는 // 주석을 쓸 수 없다, /\* \*/ 주석 사용!
c89언어의 기본 자료형 char: 최소 8bit인 정수형 short: 최소 16bit인 char 이상의 정수형/ int보다 짧음 ★ int ★ 는 그냥 정수 <기본> 정수! 표준에 상관없이 보통 안전하게 생각해도 되는 것. int: 최소 16bit 보통 32bi
c언어의 기본자료형, bool형bool형을 안쓰는 이유정수로 대신 쓸 수 있음, 0이면 false, 0이 아니면 true열거형(enum)int와 섞어서 사용 가능. int -> enum, enum -> int enum -> 또 다른 enum
chapter 28-31\*\* 올바른 변수 선언 위치변수 선언 위치: 1\. 변수 선언은 반드시 블럭의 시작에서만 해야 함. 2\. 단, 코드 중간에 사용하는 변수는 블록 시작에서 선언만 하고 뒤에 대입! \*\* 연산자: C에서 새로 만나는 연산자 1\. sizeo
chapter. 32,33,34 역참조 연산자 : 포인터형 변수에만 사용, 포인터 포인터~주소 연산자 &: 피연산자가 '&' 하나일 때는 주소연산자 . 연산자클래스가 없기 때문에 함수 호출에 쓸 수 없음공용체의 멤버 변수에 접근할 때 사용 \-> 연산자‘.’와 ‘\*’
chapter. 35,36,37조건문과 반복문if문과 불표현식:true/false 1/0을 반환swith/case 문 : swith 정수형(int, char, enum)만 가능, string의 경우 컴파일 오류: case (상수형) 안에서 break 빼먹어도 다음줄 쭉
chapter. 38-41c언어의 함수 class가 없다 / 바로 변수를 씀 기본적으로 모두 전역(global) 함수이다어디서든 호출할 수 있다함수 오버로딩오버로딩은 존재하지 않는다/ 매개변수의 타입이나 수가 다른경우 새로운 함수를 만들어야 함함수 선언 함수의 구현체
chapter.42 함수 매개변수의 평가 순서 표준에 따르면 함수 매개변수의 평가 순서는 명시되어있지 않음 컴파일러에 따라 평가 순서가 달라질 수 있음 이 둘 중 뭐가 먼저 호출될지는 컴파일러 마음!

#20220524 chapter 45,46,47,48 범위(scope) 전역변수 const 키워드 -
49 50 51 52 53goto문c는 통상위에서 아래로 순차적으로 코드 실행goto를 같이쓰면 이 순서를 어기고 다음에 실행할 코드 맘대로 지정 가능. (같은 함수 내 있는 레이블로 점프) 10번줄 실행하다가 30번줄 실행 가능go to 좋은 사용방법! goto문은

54, 55, 56스택 메모리 (위에서 아래로 쌓이고 ~) 모든 자료형은 '값형'으로도 '참조형'을 만들 수 있다. 각 함수에서 사용하는 지역 변수 등을 임시적으로 저장하는 공간 스택 메모리의 '크기'는 프로그램 '빌드'시에 결정 스택 메모리의 '위치'는 '실행' 시에
57-62배열의 요소 개수 구하는 법, 길이가 명시된 매개변수 배열, 매개변수 배열의 길이, 배열요소의 초기값, 다차원 배열 등 sizeof (매개변수)sizeof(values)는 values 배열이 차지하는 총 바이트 수를 반환 배열이 스택에서 몇바이트를 차지하는지

#220604 build: 짓다, 건설하다, 창조하다, 커지다 등 빌드란 무엇인가? 사람이 읽기 쉬운 소스코드를 기계어로 변환 그 명령어들을 모아 기계에서 실행 가능한 실행파일로 만듬. C의 빌드 과정 1,2,3 컴파일/ 4 링크 전처리 (preproces
66-72<> : c에서 자체 제공하는 라이브러리의 헤더파일 인클루드 할 때 "" : 우리가 직접 만든 헤더파일 인클루드 할 때이 둘의 차이는 디스크상의 어디에서 헤더를 찾느냐의 차이<>는 시스템 경로에서만 헤더파일 검색 ""는 현재 작업중인 디렉터리에서 헤

빌드 과정: 링크단계 링크 단계가 분리되어 있는 이유 라이브러리, 정적/동적 분할 컴파일과 전역 변수 입력: 링커는 모든 오브젝트 코드들을 모아다가 '구멍'을 메꾼 뒤 실행파일로 저장 (\_add 함수 호출) 처리과정: 선언만 믿고 사용한 함수나 변수가 여전히 구멍으로

✓ 동일한 이름의 전역변수를 두 번 쓸 수 없다!✓ 결국 include는 복!붙! monster_repo.hmonster_repo.cmain.c컴파일 오류가 나는 이유는 전역변수(g_mob_count) 선언이 2번이라서!해결방법: 'monster_repo.c' 안에 있
#220613 82-86 .c와 .h 파일 정리, 순환 헤더 인클루드 자드 작동법 인클루드 가드 예제 c 컴파일러의 종류와 특징 정리

#220614 87- 87. 포인터 초기화가 되어있는 배열을 process라는 함수로 호출! 주소를 스텍에 집어 넣고 접근한다! ✭ 메인 함수와 스텍의 범위가 다르다 ✭ 88. 주소 연산자 & 지역변수의 주소 출력하기! 비트 연산자 '&' 가 아님!!!! 비트연

포인터: 값에 의한 전달? 참조에 의한 전달? 함수를 호출 할 때 언제나 변수(포인터이든 아니든)를 복사함원본이 바뀌는지 안바뀌는지가 제일 중요한 포인트! 함수의 지역 변수는 -> 스택에 저장됨. 함수 호출이 끝나면 지역 변수도 사라짐 (유효하지 x)이 스택 프레임