본문 바로가기

Basic Programming Language/C

C언어 - 포인터, 포인터배열 포인터(Pointer) - 메모리의 주소값을 저장하는 변수 - 연산자 : 주소(번지) 연산자(&), 참조 연산자(*) - 주소(번지) 연산자(&) : 변수의 이름 앞에 사용 / 해당 변수의 주소값을 반환 - 참조 연산자(*) : 포인터의 이름이나 주소 앞에 사용 / 포인터에 가리키는 주소에 저장된 값을 반환 - 선언 형식 : 타입* 포인터이름; - 선언 + 초기화 : 타입* 포인터이름 = &변수이름; or 타입* 포인터이름 = 주소값; - 포인터를 선언한 후 참조 연산자(*)를 사용하기 전에 포인터는 반드시 먼저 초기화되어야한다 -> 그렇지 않으면 의도하지 않은 메모리의 값을 변경하게 되기 때문 - 포인터의 타입은 참조 연산자를 통해 값을 참조할 때, 참조할 메모리의 크기를 알려주는 역할 Pointer .. 더보기
C언어 - 제어문, 함수 제어문 - ~.C = 절차적 프로그램(procedural program) 또는 명령형 프로그램(Imperative program) - 프로그램의 이러한 순차적인 흐름을 제어 / 종류 : 조건문, 반복문 등 - 중괄호({} = block)사용해서 영역 표시 조건문(conditional statements) - 주어진 조건식의 결과에 따라 별도의 명령을 수행하도록 제어하는 명령문 - if / if-else / if - else if - else / switch - if : 조건식의 결과 = 참(true) : 주어진 명령문을 실행, 거짓(false) : 아무것도 실행X / 연속으로 사용가능 - if-else : 조건식의 결과 = 참(true) : if에 주어진 명령문을 실행, 거짓(false) : else에 .. 더보기
C언어 - 연산자, 배열 연산자(Operator) - Program의 산술식 or 연산식 표현/처리하는 기호 - 산술(+,-,*,/,%), 대입(=,+=,-=,*=,/=,%=), 증감(++,--), 비교(,==,!=,>=, 더보기
C언어 - 선행처리, 변수 선행처리(Preprocess) - 실행파일을 생성하는 과정에서 source파일내에 존재하는 선행처리지시문을 처리하는 작업 - compile하기 전 preprocessor에 의해 먼저 처리 = compiler가 compile하기 전에 source 재구성 역할 - #으로 시작 / ;X / 중간에 c언어 code 섞는 거 불가능 / 자기가 위치한 곳 기준부터 끝까지 영향 - 선행처리 지시자(preprocessing directives) : #include, #define, #line, #error, #pragma, #undef, #if, #ifdef, #ifndef, #elif, #else, #endif - #include : 외부에 선언된 함수나 상수등을 사용하기 위해서 헤더 파일을 현재 파일에 포함할 때,.. 더보기
C언어 - Input/Output C언어 - 절차 지향(procedure-oriented) 프로그래밍 언어 = 저급(컴퓨터가 인식하는 기계어에 가까운 특성을 가진 언어) & 고급(사람이 알아보기 쉬운 특성을 가진 언어) 언어 특징 존재 - 대소문자 구분, 기본단위 : 함수, 주석형식 : //&/**/ C언어 파일 생성 순서 1. src.파일 작성 : ~.c 2.preprocessor에 의한 선행처리 : Compilor가 작업하기 좋도록 src재구성 3.Compilor에 의한 compile : ~.c를 기계어로 변환 / ~.o or ~.obj 4. Linker에 의한 link : 1개 이상의 .obj, 라이브러리, 시동 코드 등을 합쳐 하나의 파일로 만드는 작업 *N개 src파일 작성 + 링크 -> 1개의 파일 만들기 = 분할 컴파일 5... 더보기