소프트웨어학부/절대 강자 C언어 코스웨어 12

13장. 프로그래밍 도구

프로그램 컴파일 단계 1. 전처리기 2. 컴파일러 3. 어셈블러 4. 링커makegprof프로파일gdb  gcc 컴파일러.c 파일.h 파일.o 파일gcc 컴파일 순서 1. 소스 프로그램 -> 실행 프로그램 2. 전처리기 -> 컴파일러 -> 어셈블러 -> 링커  gcc 컴파일러 1. 전처리기  processor 2. 컴파일러  compiler 3. 어셈블러  assembler 4. 링커  linkergcc 옵션 1. gcc --help 2. gcc -c 3. gcc -D 매크로명 4. gcc -D 매크로명 = 값 5. gcc -E 6. gcc -g 7. gcc -l dir 8. gcc -L dir 9. gcc -l lib 10. gcc -M 11. gcc -o 파일이름 12. gcc -O level 13...

11장. 입력과 출력

스트림와 I/Ogetchar()putchar()  printf()와 scanf()sprintf()와 sscanf()fprintf()와 fscanf()fopen()fclose()파일의 임의의 위치에 접근하는 함수텍스트 파일이진 파일  스트림 streamgetchar()putchar()  입출력 재지정 기호파이프 pipe  while((c=getchar())!=EOF) 문EOFprintf()  변환 명세 1. %c 2. %d 3. %i 4. %u 5. %o 6. %x 7. %X 8. %f 9. %F 10. %e 11. %E 12. %a 13. %A 14. %g 15. %G 16. %s 17. %p 18. %n 19. %%인자가 무한대인 경우인자가 숫자가 아닌 경우  flag 1. - 2. + 3. 공백  4..

10장. 전처리기

컴파일 순서전처리기 문장매크로 _Generic문자열화 연산자 # (함수 매크로처럼 사용)토큰 결합 연산자 ## (함수 매크로처럼 사용)헤더 파일 1. 컴파일러 제공 헤더 파일 2. 사용자 작성 헤더 파일 조건부 컴파일  전처리기포팅전처리 지시자 Preprocessing directive 전처리기 문장 preprocessor statement전처리기 순서매크로기호 상수의 기호 상수 문자열 대치매개 변수를 갖는 매크로 통합 자료형 매크로단항 연산자 # 이항 연산자 ##헤더 파일 1. 사용자 작성 헤더 파일 2. 컴파일러 제공 헤더 파일 조건부 컴파일#undef#ifdef#ifndef #else#if, #else, #elif, #endif defined()디버그 옵션 $gcc -D DEBUG test.t $g..

9장. 비트 수준 접근

비트 단위 연산자 1. 비트 단위 논리 연산자 2. 이동 연산자비트 단위 논리 연산자 1. 비트 단위 보수 : ~ 2. 비트 단위 논리곱 : & 3. 비트 단위 배타적 논리합 : ^이동 연산자 1. 왼쪽 이동 :  2. 오른쪽 이동 : >>  특정 비트 값 다루기패킹비트 필드 비트byte메모리 주소 단위메모리 내용 단위워드 1. 32 bit 컴퓨터 2. 64 bit 컴퓨터워드 경계  비트 표현최상위 비트 MSB최하위 비트 LSB부호 비트비트 단위 연산 1. 비트 단위 논리 연산자 2. 이동 연산자패킹  비트 필드비트 단위 연산자 1. 논리 연산자  (1) 비트 단위 보수 : ~  (2) 비트 단위 논리곱 : &  (3) 비트 단위 배타적 논리합 : ^  (4) 비트 단위 논리합 : | 2. 이동 연산자 ..

8장. 사용자 정의형

구조체구조체 멤버구조체 선언복합 리터럴구조체 매개변수  공용체공용체 선언익명 구조체익명 공용체열거형열거형 선언  구조체공용체열거형  구조체구조체 태그구조체 멤버 liststrcut 키워드구조체 변수 복사  구조체 변수 선언법 1. 구조체 선언과 동시에 구조체 변수 선언 2. 일회용 구조체 변수  typedeftypedef 포인터형typedef 배열형  typedef 함수 포인터형typedef 장점typedef 구조체  구조체 초기화복합 리터럴  구조체 멤버구조체 포인터  -> 연산자. 연산자  구조체 멤버 정렬  구조체 배열구조체 배열의 초기화  구조체 매개변수  공용체공용체 선언유니언 태그  bool 형익명 구조체익명 공용체  열거형열거형 태그열거자열거형 선언열거형 변수 선언열거형 값 배정열거형 초기화..

7장. 포인터

포인터 변수주소 연산자 &역참조 연산자 *void형 포인터포인터의 포인터 변수  포인터 연산참조에 의한 호출배열과 포인터메모리 사상 함수  매개변수 배열동적 메모리 할당main()의 매개변수형 한정자  객체 자료형_Alignas_Alignof함수 이름qsort()퀵 정렬 함수   ..~~~~.. 포인터프로그램변수변수 선언문식별자  메모리배열 이름참조에 의한 호출  메모리프로그램 실행과 메모리int num;의 의미주소 연산자 &주소값 변환 명세. %p  포인터 변수포인터 변수 선언역참조 연산자 ** 기호  포인터 값 0int * ptr;과 * ptr;포인터 캐스트 연산자void형 포인터  포인터의 포인터 변수포인터 연산포인터 연산 종류  함수 호출에서 인자와 매개변수값에 의한 호출참조에 의한 호출  배열배..

6장. 배열

배열1차원 배열 선언원소인덱스다차원 배열매개변수가 배열인 함수문자열문자열의 크기  문자열 입출력 변환문자 %sscanf()로 입력받을 때는strcpy()strlen()strcat()strcmp()문자열 변환 함수ato...()strto...()  가변길이 배열  배열원소1차원 배열  기호 상수배열 초기화초기화자  초기화 목록에 각괄호[] 사용2차원 배열  3차원 배열다차원 배열  다차원 배열 초기화중첩 중괄호  배열과 함수배열을 매개변수에 전달하는 것int []  다차원 배열에서의 생략   함수의 모양함수 원형에서 가변 길이 배열  문자열널 문자문자열 초기화 방법  char형 배열 출력변환문자 s. %s문자열 입력scanf()공백 문자  문자열 복사strycpy()sprintf()  문자열 길이sizeo..

5장. 함수

사용자 함수라이브러리 함수함수 장점하향식 프로그래밍  함수와 프로시져  함수 선언함수 정의함수의 선언함수의 정의함수의 호출main() 함수  함수 정의함수의 형return 문함수의 정의 방법 순서함수 호출  묵시적 int함수 원형  컴파일러가 함수 호출 문장을 만나면인자매개변수  값에 의한 호출참조에 의한 호출인자와 매개변수함수가 호출되면  지역 변수전역 변수유효범위 규칙  지역 변수전역 변수함수의 유효 범위  전역 변수의 단점스토리지 클래스  전역 변수지역 변수autoregisterextern  변수 선언변수 정의변수 선언과 변수 정의의 차이점  프로그램을 여려 파일로 작성하기static  수학 함수  통합 자료형 수학 매크로함수 지정자inline 함수static inline  _Noreturnabor..

4장. 제어의 흐름

제어의 흐름제어가 흐른다제어의 순차적 흐름선택문반복문  점프문조건을 다루는 연산자거짓참0 값  관계 연산자등가 연산자논리 연산자단축 평가  조건 연산자의 우선 순위논리 부정 연산자의 결합 방향연산자 우선 순위    if문if-else문중첩 if문값의 범위 검사  한 문장으로 취급elseif-else if문  조건부 연산자while문무한 루프제어변수  while((c=getchar() == ' ')for문  콤마 연산자do-while문  조건문 선택 기준점프 문장break   continuegoto문  switch문  getchar()  조건 검사단축 평가if문if-else문복합문  조건부 연산자반복문while문for문do-while문  무한 루프점프 문장switch문

3장. 기본 자료형

* 자료형 (형) 데이터의 종류 1. 기본 자료형 2. 사용자 자료형 사용자 자료형 (user-defined data type) 사용자가 직접 정의한 자료형 * 선언문 변수를 선언할 때 그 변수가 다룰 자료형을 선언하는 것 프로그램은 변수를 선언하여 메모리의 일부를 할당받아 데이터를 유지한다 (프로그램이 실행되는 도중에) * 자료형 (data type) 줄여서 형 (type) 정수는 소수점이 없는 숫자 실수는 소수점이 있는 숫자 복소수는 허수와 실수로 구성 문자는 알파벳으로 표기 컴퓨터는 형의 값을 모두 이진수로 변환하여 표현 각 자료형마다 표준 변환 규칙이 있음 C 프로그램은 변수에 자료형을 명시하여 데이터 변환 과정이 자동적으로 일어나도록 한다 메모리에 저장된 이진수만 보고서는 어떤 방식으로 저장했는..