All Pages
5. 포인터 - 문자열
5. 포인터 - 문자열
2023.05.12-- 2차원 배열 char arr[2][3]char arr[6] 함수 원형에서, 매개변수 자리는 그냥 주소값만 넘기는거다.int func(int *arr){} &(arr_1d[0]) // == arr_1d // int *arr 크기만큼의 주소값을 넘긴다는 의미다,&(arr_2d[0][0]) // == arr_2d[0] // int *arr 크기 연산 가능한 주소값 배열의 대표 주소와행의 대표 주소 carr2[0][0] carr2[1][0] 포인터 선언char 형 포인터int 형 포인터포인터 변수, 메모리 접근 포인터는 포인터다.가르킨다.포인터 = 주소 > 데이터주소를 저장하고 싶은 공간 포인터란? 주소를 저장하는 공간 32bit OS포인터변수는 4bytechar 변수는 1byte 6..
4. 포인터 - 배열
4. 포인터 - 배열
2023.05.121. 필수 기반 지식더보기 필수 기반 지식 2진수, bit, Byte, 16진수프로그래밍) 빌드, 컴파일, 링킹(함수) 컴퓨터) 실행 개념과 메모리, CPU 동작구조프로그래밍 언어, 어셈블리, 기계어C 언어의 자료형과 함수스텍 메모리 동작 구조 배열과 포인터는 연산자 & * [ ] 만 이해하면 된다.그리고, 배열과 포인터는 다르다.하지만, 학습 초기에는 "같다" 고 가정하고 접근하여 익숙해지는게 먼저다. 연산자 우선순위우선순위연산자 유형연산자결합방향높다1괄호, 배열, 구조체( ) [ ] . → 좌 → 우 2단항연산- ! ~ ++ -- (type) & * sizeof좌 ← 우3산술 연산승제* / %좌 → 우4가감+ -5비트..
3. 포인터 - "C 프로그램" 실행과 역참조
3. 포인터 - "C 프로그램" 실행과 역참조
2023.05.12* 일반적으로 메모리 모델을 다이어그램으로 그릴 때, 낮은 주소를 아래에, 높은 주소를 위에 둔다.한국은 반대로 낮은 주소를 위에 두고, 스텍을 아래에서 위로 쌓는 그림을 사용하기 때문에, 자료 조사할 때 혼동할 수 있다. 결국 스텍은 차례대로 쌓는 이미지를 기억하고 접근해야 한다. 1. C언어의 메모리 모델(Memory Layout of C Programs) 더보기* 빌드와 실행을 이해했다고 가정한다. 1.1 메모리 동작 1.2 컴퓨터가 프로그램을 실행하는 관점에서, 개발자 소스코드의 변수 이름이 필요할까? 빌드컴퓨터는 프로그래밍 언어(소스 코드)가 필요 없다.C언어는 사람(개발자)가 필요한 언어다. 실행컴퓨터는, 0과 1 그리고 저장된 공간을 식별할 고유 메모리 주소가 필요하다.포인터는..
2. 포인터 - "메모리 주소 값" 저장과 역참조
2. 포인터 - "메모리 주소 값" 저장과 역참조
2023.05.12포인터는 역참조가 목적이다.포인터 역참조는, 변수를 사용하는 것과 목적이 같다. 1. 변수와 메모리 더보기1.1 빌드와 실행- 빌드 - 실행 - 포인터의 사용 목적 프로그램이 실행될 때, 메모리(RAM, 주기억장치)에 로드된 값(Data, 11001010)을 메모리의 주소값으로 참조하고자 한다. 이는 변수와 값을 사용하는 방법과 동일한 목적이지만, 방법이 다를 뿐이다. 그렇기 때문에 포인터의 학습의 시작은, 1) "변수와 값"을 사용하는 방법, 그리고 2)"포인터와 값"을 사용하는 방법을 명확하게 구분하는 것으로 시작해야 한다. 1.2 용어 명확히하기 - 소스코드를 볼 때, 메모리 구조가 머리속에 그려졌으면 좋겠다. 프로그램은 1)데이터(Data)와 2)로직(Logic)으로 이루어진다. 변..
1. 필수 사전 학습
1. 필수 사전 학습
2023.05.121. 시작하기 더보기 1.1 를 바라보는 관점 - 이론서는 최소 2회독이 필요합니다. "프로그래밍 언어"는 프로그램이라는 결과물을 효율적으로 만들기 위해 등장했습니다.프로그래밍은 신입, 학생, 초보자를 고려한 학문과 교육의 영역이 아닙니다. 특히 프로그래밍 언어의 문법적 기술 부분은 수십년간 효율적인 개발은 위해 보완되어 오면서 순서없이 유기적으로 연결되어 있기에, 차례대로 배울 수 있는 부분이 극히 적습니다. 우선 모든 기본 내용을 단편적으로 숙지한 후, 연결된 부분들을 이어가며 다시 학습하셔야 합니다.그렇기 때문에 최소 2회독이 필요합니다. - 프로그램을 만들어야 합니다.영어 문법을 공부하는 것만으로, 영미권 외국인과 의사소통 할 수 없습니다.노래, 그림, 운동, 요리 이론만으로, 가수, 미술..
<Win> VSCode - 한글 깨짐(2) - 폰트 이슈
<Win> VSCode - 한글 깨짐(2) - 폰트 이슈
2023.03.26VSCode 터미널 설정의 폰트를 변경한다.에디터 폰트를 변경하면, 터미널 폰트도 변경된다. VSCode 터미널 한글 깨지는 문제 d2coding 폰트를 사용하는 이유는, 한글을 사용해야 하기 때문이다.코딩시 영문자와 숫자 뿐만 아니라 한글 유사 기호간 변별력이 필요하다.한글을 사용하지 않는다면, Consolas, Cascadia 를 계속 사용하면 된다. ① d2coding 폰트 다운로드 ② 폰트 설치 ③ VSCode 폰트 설정터미널과 에디터의 폰트를 변경해준다. 에디터 폰트를 변경하면, 터미널 폰트도 변경된다. User > Text Editor > FontUser > Features > Terminal
<Win> VSCode - 한글 깨짐(1) - 인코딩 문제
<Win> VSCode - 한글 깨짐(1) - 인코딩 문제
2023.03.26한글 입력시 출력이 안되는 문제 VSCode 설정의 Encoding 수정
변수, 값과 참조 개념 관련
변수, 값과 참조 개념 관련
2023.03.20※ 변수 학습 순서1. Value Type하드웨어 & 프로그래밍 언어 등장 배경 → 변수 등장 배경 → 변수 본질과 데이터 → 컴파일러 → 기본 자료형 개념2. Ref. Type빌드, 실행(메모리) → 변수, 클래스, 속성, 기능, 객체, 프로그래밍 본질 → 함수 → 스택 메모리, 소스 코드 실행 순서 → 코드 블록(스텍 프레임) 개념 → 메서드 참조 매개변수 → 복합 자료형 등장 배경 → 힙 메모리 → ① 프로그래밍과 효율①.① 프로그래밍 언어가 등장한 이유초기 컴퓨터 프로그래밍은 0과 1로 개발했다.소프트웨어 개발을 효율적이고 편리하게 하기 위해서 등장했다.①.② C# 추가 기능으로 프로그래밍 기술을 바라보는 관점모든 프로그래밍 언어는 쉽고 효율적인 방향으로 발전되고 있다.모든 프로그래밍 언..
C# 버전과 개발환경
C# 버전과 개발환경
2023.03.17C# 환경 설정은, 처음 공부하는 사람에겐 좀 복잡하다. .net 이라는 이름으로 여러 기술 스택이 사용된다.① C# 버전과 .NET Framework② .NET 통합 흐름③ .NET Cross Platform 1).NET Framework Link, 2).NET Link, 3).NET Standard Link ④ MAUI (Multi-platform App UI)⑤ Visual Studio InstallerMicrosoft Learn .NET MAUI 7 Link
프로그래밍과 C#
프로그래밍과 C#
2023.03.16더보기11/01 파이썬 └ prj > 키오스크12/04 C언어 └ prj > 춘식이 키우기 └ prj > 개인 프로젝트12/11 C언어 TCP/IP └ prj > 농산물 └ prj > 크리스마스 12/26 CS, 입자포 └ prj > 아시안컵 Bok's Ticket 01/15 DB, SQlite └ prj > 취업in01/25 C++ Qt └ prj > 다나와 자동차 └ prj > 개인 자유 프로젝트 └ prj > 복팡이츠02/20 C++ TCP/IP + Thread └ prj > ..
Ubuntu, vim & neo vim
Ubuntu, vim & neo vim
2023.03.131. vim, neo vim 이전 버전 제거 sudo apt --purge remove neovim -y sudo apt --purge remove vim -y 2. vim 설치 sudo apt install vim 3. ~./vim/colors/ 경로에 jellybeans color scheme 다운로드 cd ~ mkdir .vim cd .vim mkdir colors 해당 경로로 jellybean color scheme 다운 sudo wget https://raw.githubusercontent.com/nanotech/jellybeans.vim/master/colors/jellybeans.vim -O ~/.vim/colors/jellybeans.vim neo vim 최신 버전 설치 sudo apt i..
Ubuntu, 초기 설정
Ubuntu, 초기 설정
2023.03.13Sep.12.2023Ubuntu 22.04Surface Pro 9 음소거오른쪽 상단 ⬇️ 버튼 클릭 ➫ 음소거 자동 스크린 꺼짐 수정오른쪽 상단 ⬇️ ➫ Settings ➫ Privacy ➫ Screen Lock 화면꺼짐 15분, 스크린 락 30분 듀얼 모니터 세팅오른쪽 상단 ⬇️ ➫ Settings ➫ Displays IP 세팅오른쪽 상단 ⬇️ 버튼 클릭 ➫ Wired Connected ➫ Wired Setting ➫ IP 정보 입력 좌측 즐겨찾기전부 제거, 폴더, 터미널만 남기기 firefox 우클릭 에드온 설치*firefox 는 웹 상의 스크립트 클릭 복사 지원 안함right click addon installation link 에드온 설치 후, 우클릭 활성화해서..