전체 글 177

CLI vs GUI

CLI란 Command Line Interface의 약자로, 명령줄을 입력해서 사용하는 것이고, GUI란 Graphical User Interface로 일반인 사용자들이 쓰기 편하도록 그래픽 요소를 활용한 인터페이스이다. Git을 사용할 때도 두 가지 방법이 있다. (CLI - GitBash / GUI - SourceTree) 얄코 강의에 따르면, Git에서 뭔가를 실행하기 위해서 명령들을 사용할 때는 CLI를 사용하고 프로젝트의 상태를 Git 상에서 자세히 살펴보아야 할 때는 SourceTree를 사용한다고 한다. 공부할 때는 CLI를 활용하는 것이 좋다. ① 모든 기능들을 섬세하게 다룰 수 있다 ② 어떤 기능이 있고 어떻게 동작하는지 제대로 알 수 있다 ③ Git을 잘 알게되면 GUI는 식은 죽 먹기..

Git 2023.01.02

Git을 배워야 하는 이유

Git은 개발자의 필수 소양이다. Git은 VCS의 약자이다. Version Control System 프로그램의 버전 관리 시스템이다. 유의미한 결과가 결과물이 나온 것이다. 프로젝트의 시간과 차원을 관리하는 것이다. 필요에 따라 여러 시간과 차원을 이동하는 것이다. 시간의 관점에서는, 계속해서 나오는 새로운 작업을 기록하고, 필요에 따라 이전 버전으로 이동하기도 할 수 있도록 하는 것이다. 차원에 대한 이야기를 하자면, 프로젝트를 복사 백업할 필요가 없어진다. 내용들을 다른 폴더인 것 처럼 다른 모드로 설정하고 변경사항을 적용할 수 있다.

Git 2023.01.02

[C/C++] 11 - Command Line Argument

Command Line이란? 컴퓨터의 텍스트 인터페이스 프로그램은 커멘드를 통해서 실행을 위해 컴퓨터 operation system으로 이동한다. Commend Line arguments - parameters that are supplied to the program when it is invoked argc & argv[] int argc // argument count commend line arguments의 char *argc[] // argument vector The array of the pointers to all command line arguments All command line arguments are inputted as character strings argv[0] points..

Language Study/C 2022.12.14

[C/C++] 10 - 04 파일 입출력 기초

Index C 언어의 두 가지 파일 유형 Text File vs Binary File 파일 사용의 개골적 과정과 FILE 구조체 1. C언어의 두가지 파일 유형 Text Mode File vs. Binary Mode File 2. Text File vs Binary File C 언어에서는 파일을 읽거나 쓰기 위해 Open 할 때 대상 파일이 Text File 인지 Binary File 인지 구분하여야 한다. Text File 사람들이 읽을 수 있는 문자로 모든 정보를 표현하고 저장하는 파일 서로 다른 값을 구분하는 구분자가 필요하다 표준 입출력에 문자열을 출력하는 puts(), printf() 등의 함수,입력하는 gets(), scanf()등의 함수에 대응하는 fputs(), fprintf(), fget..

Language Study/C 2022.12.14

[C/C++] 10 - 03 Lifetime 분류

Index 변수(또는 메모리 블록) Lifetmie 분류 Memory Layout of a C Process 함수 호출과 Stack Automatic Variable & Stack 1. 변수(또는 메모리 블록) Lifetime 분류 ① Static Its lifetime is the entire duration of the program's execution Global and Static Local Variables A static variable is stored in the data segment of the "object file" of a program ② Automatic An automatic variable has a lifetime that begins when program execut..

Language Study/C 2022.12.14

[C/C++] 10 - 02 문자열 버퍼 동적 할당

① whlie문을 활용해볼까요. 1) 사용자가 Ctr - z를 눌러 EOF를 입력할 때까지 최대 MAX_LINES 만큼의 문자열을 입력받음 2) EOF인 경우 gets()의 return은 NULL이다. ② gets_malloc()을 사용해볼까요. 불필요한 메모리 사용을 줄이기 위해 문자열 입력을 위한 버퍼를 동적으로 할당. ※ gets_malloc() gets() 함수의 문자열을 입력 받을 버퍼를 malloc()으로 동적 할당 입력이 EOF이면 동적으로 할당 받ㅇ느 버퍼를 해제하고 NULL 을 Return 문자열 입력 버퍼 동적으로 할당 받는 문자열 입력 버퍼들을 관리하기 위한 문자열 포인터 배열 str_ptrs[]선언하고 NULL값으로 초기화 실제 입력 LINE 수에 해당하는 문자열 버퍼만 할당 동적으..

Language Study/C 2022.12.14

[C/C++] 10 - 01 메모리 동적 할당

목차 정적인 메모리 공간 할당의 한계 동적인 메모리 할당 및 해제 함수 assert 매크로 메모리 공간의 할당과 복사 1. 정적인 메모리 공간 할당의 한계 만약 이 코드에서 1의 값을 100이라 했을 때 만약에 입력한 값이 150이면 run-time error 가 발생하고, 10을 입력했다면 메모리를 불필요하게 낭비한게 됨 → 필요한 크기를 미리 알 수 없다!! 면... 2. 동적인 메모리 할당 및 해제 함수 Dynamic Memory Management Functions Defined in header 메모리 동적 할당 함수 void *malloc(size t, size); Allocates size bytes of uninitalized storage Param: size - number of byt..

Language Study/C 2022.12.06

[C/C++] 09 - 03 구조체 배열과 포인터

목차 배열과 포인터 구조체 배열과 포인터 1. 배열과 포인터 포인터 변수에 대한 산술 연산 참조하는 자료형의 크기에 비례하여 값이 더해지거나 빼짐 포인터 제 2 법칙 pn[n] = *(p+n) 2. 구조체 배열과 포인터 포인터를 활용한 배열의 순회 C에서는 첨자가 아닌 포인터를 통한 배열 순회가 널리 쓰임 배열의 이름은 배열의 시작 주소를 나타내는 포인터/주소 상수 포인터 제 2법칙: p[n] = *(p + n); &p[n] = &(*(p + n)) = p + n 요약

Language Study/C 2022.12.03

[C/C++] 09 - 02 구조체 변수와 함수, 포인터

목차 구조체 변수와 함수 구조체 변수와 포인터 구조체 매개 변수 vs 구조체 포인터 매개 변수 구조체 변수와 함수의 인자 구조체가 쓰이는 C 표준 라이브러리 함수 1. 구조체 변수와 함수 ✓ stud_swap() 함수 구조체 변수 값 swap을 위해 만든 함수인데 swap이 되지 않는다. 그 이유는 무엇일까? Call by Value scalar 형 자료형과 같이 구조체 변수 역시 매개변수로 값이 복사되어 감 매개변수는 호출 시 사용한 변수와 별개이며 변화가 반영되지 않는다. 2. 구조체 변수와 포인터 구조체 자료형에 대한 포인터가 가능하다. 구조체 포인터에서 구조체 멤버를 접근하려면 ->: 구조체 포인터의 멤버 변수 접근 연산자 3. 구조체 매개 변수 vs 구조체 포인터 매개 변수 배열의 경우 대입 연..

Language Study/C 2022.11.24