CS

· CS/Git
1. Upstream, Origin, 그리고 Local이란? 깃 개념에서 위의 3가지는 '상대적인 위치'를 나타낸다. 예를 들어 친구들과 함께 거대한 웹 프로젝트, 'Our Web'를 만든다고 치자. 친구 중 한 명이 레포를 만들 것이고, 나머지 친구들은 fork를 통해 그 레포를 자신의 깃허브 레포에 옮겨올 것이다. 그리고 이 프로젝트는 역할 분담이 있기에 fork한 저장소를 각자 개인 PC로 clone하여 개인 작업을 수행할 것이다. 이때, 한 친구가 판 Our Web의 원천이 되는 저장소를 Upstream이라고 하고, 그것을 fork한 나의 저장소를 Origin이라고 하며 Origin을 클론하여 업무를 수행하는 나의 PC를 Local이라 한다. 2. Fork부터 Pull request까지 그렇다면 ..
· CS/Git
1. Git과 Github의 차이점 Git : 개인 컴퓨터 내에서 프로젝트의 변경된 내용을 관리하는 도구 (버전 관리 도구) Github : 코드 저장소 (like 코드계의 클라우드) Version : 특정 시점에서 프로젝트의 상태 2. Git의 4가지 영역 git은 크게 4가지 영역으로 나눌 수 있다. (1) Working Directory (modified) modified : 작업영역 개인 PC 내에서 코드를 수정하고 새로운 파일을 추가하는 등의 개인적인 수정작업을 하는 영역 (2) Staging Area (staged) staged : 준비 영역 commit하기 이전에 add된 파일들이 모여있는 영역 (3) Local Repository 파일들이 commit되어 버전이 생성된 상태로 존재하는 영역..
· CS/C, C++
-목차- 1. 구조체 포인터 변수 2. 구조체 매개 변수 : "구조체 복사" vs "구조체 포인터" 3. 시간, 날짜와 관련된 C언어 표준 라이브러리 함수 1. 구조체 포인터 변수 ※ 구조체 변수 값을 swap하는 함수 만들기 #include typedef struct student { int id; char *pname; double points; } STUD; void stud_printx(STUD s) { printf("[%d:%s] = %lf\n", s.id,s.pname,s.points); } void stud_swap(STUD s1, STUD s2) { STUD tmp = s1; s1 = s2; s2 = tmp; } int main(void) { STUD s1 = {1,"Kim",100}; S..
· CS/C, C++
-목차- 1. 구조체 자료형 정의 및 변수 선언 방법 2. typedef와 구조체 자료형 3. 구조체의 메모리 구조 4. 문자열 배열, 포인터와 구조체 변수에 대한 Assigment 연산 5. 구조체의 배열 1. 구조체 자료형 정의 및 변수 선언 방법 ○ 구조체 ※ 구조체는 여러 자료형의 연속된 변수들로 구성된 집합체 ex) 학생관리 프로그램의 각 학생에 대한 기록 - 이름, 학번, 나이, 전화번호, 전공 등 학생과 관련한 여러 자료 - 한 학생에 대한 여러 자료들을 개별적으로 다루기보다 하 곳에(하나의 변수로) 모아서 관리하는 것이 편리 ※ C의 구조체 구조 - 구조체는 하나 이상의 멤버/필드 변수들로 구성된다 - 각 멤버/필드 변수들은 서로 다른 자료형을 가질 수 있다 ※ 구조체는 일종의 자료형(Ty..
· CS/C, C++
-목차- 1. 포인터 변수에 대한 산술(+,-) 연산 및 우선 순위 2. 배열과 포인터 3. 문자열과 포인터 4. 배열 매개 변수와 포인터 5. 문자열 입출력 함수 : gets( )와 puts( ) 1. 포인터 변수에 대한 산술(+,-) 연산 및 우선 순위 ※ 포인터 변수에 대한 덧셈, 뺄셈 연산 - 포인터 변수에 대해 정수 변수와 유사하게 + , - , ++(increment), -- (decrement) 연산을 할 수 있음. 그러나 정수 변수와는 연산 결과가 다름. #include int main(void) { int a = 1, *pa = &a; // int형 변수 a와 a의 포인터 변수 pa short b = 1, *pb = &b; // short형 변수 b와 b의 포인터 변수 pb char c ..
· CS/C, C++
-목차- 1. 포인터 개념 2. 포인터 변수와 & 연산자 3. 포인터 변수와 주소의 이해 4. 포인터 활용 1. 포인터 개념 ○ 메모리 구조와 변수 ※ 메모리 - 메모리 셀이 연속해 나열되어 있는 구조 - 각 메모리 셀은 식별을 위한 주소를 가지며 셀 내에 이진 값을 저장할 수 있다 ※ Variable - 값을 저장하는 메모리 공간 - Identifier, Type, Value, Memory Size, Memory Address, Scope, Lifetime 등을 속성으로 가짐 ex) int num의 속성은? 식별자 : num, 타입 : int, 값 : 1852609611, 메모리 크기 : 4 bytes, 메모리 주소 : 0x1000 ○ 포인터 : 지시자, 가리키는 자 (변수를 가르키는 변수) 나를 변수..
· CS/C, C++
-목차- 1. Structured Programming and Modular Programming 2. Some Essential Programming Guidelines 3. Style : snake_case vs CamelCase 4. 숫자 야구 게임 프로그래밍해보기 1. Structured Programming and Modular Programming ○ Structured Programming ( 주로 한 모듈 내 함수에서 나타나는 구조) - 모든 프로그램은 본질적으로 순차, 선택, 반복이라는 3가지의 제어 구조 조합으로 구성된다. - 코드에서 이러한 제어 구조가 명확히 드러날 때 코드 작성과 이해가 쉬워진다. 즉, 명확하고 퀄리티가 높고 컴퓨터프로그램의 시간적 이점이 향상된다. - C 언어는 ..
· CS/C, C++
-목차- 1. C Standard Library 2. reference page 살펴보기 3. Type Casting/Conversion Operator 4. 문자 입출력 함수 getchr(), putchar() 1. C Standard Library ( C언어에서 기본적으로 사용할 수 있는 서비스 함수의 집합 ) ※ Dev-cpp의 MinGW64 폴더 안에.. - include 폴더에는 표준 라이브러리 함수 헤더(프로토타입/선언)파일이 있음 - 해당 library 서비스 함수의 definition은 미리 compile되어 object 파일로 lib 폴더 내에 저장됨 - Library 속 함수들의 설명서인 reference를 이용하는 습관은 프로그래밍 역량 배양에 중요함 - reference 즐찾하고 상..
· CS/C, C++
-목차- 1. 자동변수와 정적변수 2. 변수의 속성 3. 함수 호출 시 배열 크기를 전달하는 방법 4. C 함수 특성의 이해 1. 자동변수와 정적변수 - CSV 문제 다시보기 #include int main(void) { int i; int num = 0, sum = 0; char str[] = "123,456,789"; for (i=0;str[i];i++){ if (str[i] == ','){ sum += num; num = 0; } else { num = num*10 + (str[i]-'0'); } } sum += num; printf("Sum of all values in "); printf(" CSV[%s] : %d",str,num); return 0; } 위의 코드는 5장에서 작성했던 CSV 코..
태윤이
'CS' 카테고리의 글 목록