본문 바로가기

Programming/C

gotoxy 함수 구현 및 방향키 값 #include //방향키 값#define UP 0x48#define LEFT 0x4B#define RIGHT 0x4D#define DOWN 0x50 void gotoxy(int x, int y) {COORD pos = {x,y};SetConsoleCursorPostion(GetStdHandle(STD_OUTPUT_HANDLE), pos);}
C Study 02 - 연산자 연산자 우선순위우선순위, 낮을 수록 먼저 수행 부호 우선 방향 1 () [] -> . → 2 ! ~ ++ -- + -(부호) *(포인터) & sizeof ← 3 *(곱셈) / % → 4 + - (덧셈 뺄셈) → 5 > → 6 = → 7 == != → 8 & → 9 ^ → 10 | → 11 && → 12 || → 13 ? : ← 14 = 복합 대입 ← 15 , → Ex ) void main(){int num1 = 1;int num2 = 2;int result;1.result = (num1 && num2) || (num1 + num2); // O2.result = num1 || num2 == (num2 - num1); // 03.result == num1 || num2 = (num2 - num1); /..
C Study 01 - 기초 2 C언어에서 사용되는 용어 * : 에스터리스크& : 앰퍼샌더 초기화, 선언, 정의 는 각각의 의미가 있으니 헷갈리지 말 것.{} 와 같은 것을 scope 라 칭한다. main 함수 () 안에 있는 것을 argument라고 하며, printf함수 에서 ()안에 있는 것을 parameter라 하는데 통상 두 가지 모두를 parameter 전달인자 값이라 한다. main 함수 앞에 있는 것을 '반환 타입'이라 하며 그 타입에 따라 return 해주는 변수나 값 타입이 변화한다.현재는 int 형 타입이기 때문에 1을 반환 하였다. 데이터 타입의 크기 일반적으로 데이터 타입의 크기를 말할 때 windows 32bit 환경에서의 크기를 말한다.int : 4bytelong : 4bytedouble : 8bytelong..
C Study 01 - 기초 1 C에 기초를 탄탄하게 다지기 위하여 블로그를 통해 설명을 이어나갈 생각이다.그러면 처음 기초부터 살펴보자. 프로그램이란 ?간단히 설명해서 input -> program -> output특정 input을 특수한 연산을하여 output을 뽑아내는 것이다. 이러한 프로그램은 여러가지로 만들어 낼 수 있는데, 대표적으로 우리가 흔히 쓰는 C프로그램 언어이다. 그렇다면 C란??1972년 벨 연구소의 데니스 리치(Dennis Ritchie)에 의해 만들어졌다. 데니스 리치는 UNIX 운영체제의 개발을 맡고 있었는데 운영체제는 그 특성상 하드웨어를 직접 제어할 수 있어야 했다. 또한 당시의 컴퓨터 환경이 지금과는 달라 CPU의 속도나 메모리의 용량이 충분하지 않았기 때문에 프로그램의 크기는 작아야 했고 속도는 빨라야..
Compile 과정 gcc 컴파일 과정
Memory 구조 Windows 32bit OS환경 ◆ Stack(스택) : 컴파일러가 임시로 사용하는 곳으로, C언어에서 함수 호출시 지역 변수(malloc을 사용하지 않고 직접 정의된 경우)와 인수, 반환 주소(return address) 등을 Push(저장)한다. 함수가 끝나면 이 값들을 Pop하고 Return 하게 되는 것이다. ◆ Heap(힙) : 프로그램 수행 중에 malloc(), free() 등의 시스템 콜로 할당되고 해제되는 메모리 영역으로, 프로그래머가 직접 사용할 수 있는 곳이다. ◆ Data (Data segment): C언어에서 전역 변수, 정적 변수(static으로 지정된 변수) 등으로 선언된 변수 영역이다. -> bss(uninitialized data segment) : global, stat..