본문 바로가기
반응형

[C language] C 언어4

c언어 총정리9 - 매크로 선행처리기 - 사용 방법, 잘못된 매크로 선행처리기 컴파일 이전에 처리로 선행처리기가 역할을 담당한다. 삽입해 놓은 선행처리 명령문대로 소스코드의 일부를 수정한다. #으로 시작하고, 명령문 끝에 ;(세미콜론)을 붙이지 않는다. 매크로 코드를 작성할 때 특정한 텍스트 조각을 대체하는 간단한 코드 조각이다. 크기가 작은 함수와 호출 빈도수가 높은 함수를 매크로로 정의한다. 장점 - 일반 함수에 비해 실행 속도가 빠르다. 자료형에 따라서 별도로 함수를 정의x 단점 - 정의가 어렵다. 디버깅이 어렵다. #define: Object-like macro 1 2 #define PI 3.1415 // (지시자) (매크로 이름) (매크로 몸체) 매크로를 마지막에 등장하는 매크로 몸체로 치환한다. 매크로의 이름은 대문자로 정의하는 것이 일반적이다. 1 2 3 4.. 2023. 9. 1.
c언어 총정리8 - 메모리 관리와 동적 할당 - malloc, calloc, realloc, free 함수 메모리 구성 프로그램 실행 시 운영체제에 의해 마련되는 메모리의 구조는 코드, 데이터, 힙, 스택 영역으로 구분된다. 코드 영역 - 프로그램의 코드가 저장, CPU가 저장된 명령문을 하나씩 가져가서 실행 데이터 영역 - 전역변수와 static으로 선언된 변수가 할당, 프로그램 종료 시 까지 남아있다. 스택 영역 - 지역변수와 매개변수가 할당, 함수의 종료 시 소멸 힙 영역 - 원하는 시점에 변수를 할당, 소멸하는 변수 메모리 동적 할당 하나의 전역변수(배열) 사용하면 함수를 호출하게 되면 얻게 된 정보를 유지되지 않는다. 힙 영역에서 함수가 매번 호출 시 새롭게 할당되고, 함수 종료 시 유지되는 변수를 생성한다. malloc, free 함수 힙 영역의 메모리 공간의 할당과 해제를 하고, 함수의 호출 위치.. 2023. 9. 1.
c언어 총정리 6 - 구조체 구조체 정의 C언어에서 구조체는 포인터 변수와 배열 포함한 변수을 묶어서 새 자료형을 정의합니다. 1 2 3 4 5 struct point { int xpos; char name[20]; }; 구조체의 이름이 자료형의 이름이 된다. 기본 자료형은 아니지만, 묶어서 새로운 자료형을 만든 것이다. (사용자 정의 자료형 - user definded data type) 배열도 값이 저장이 가능한 변수의 성격을 가지기 때문에 구조체의 멤버가 될 수 있다. 구조체 변수의 선언과 접근 구조체 변수로 자료형들을 대상으로 변수를 선언할 수 있다. 1 2 // 구조체 변수선언의 기본 형태 struct type_name val_name; 구조체 변수를 선언할 때는 맨 앞에 struct 선언을 추가한다. 생성된 구조체의 접근.. 2023. 9. 1.
c언어 총정리1 - 기본 C언어 기본 1971년 유닉스라는 운영체제를 개발하기 위해 데니스 리치와 켄 톰슨이 함께 설계한 범용적인 고급 언어(High-level) 언어 유닉스는 어셈블리 언어라는 저급(low-level) 언어로 만들어졌기 때문에 하드웨어의 의존도가 높았다. (이식성이 낮다) -> cpu의 종류가 바뀌면 다시 작성 절차지향적 특성 – 정해진 순서의 실행흐름 중시 이식성이 좋다 – cpu의 종류에 상관없이 실행, 운영체제의 차이에 덜 민감 좋은 성능 – 성능에 민감한 소프트웨어의 개발에 주로 사용, 메모리의 양이 상대적으로 적고, 속도를 저하시키는 요소들을 최소화한 언어. 작성, 실행 방법 프로그램 작성 컴파일(Complie) 링크(Link) 실행파일 생성 c프로그램을 이루는 파일의 종류는 소스파일과 헤더파일 등으로.. 2023. 8. 30.
반응형