본문 바로가기

프로그래밍

(10)
c, cpp 등에서 main함수가 int형을 반환하는 이유 main 함수C, C++에서 main 함수는 프로그램의 진입점(Entry Point)으로, 프로그램 실행이 시작되는 지점이다.이 함수의 반환값은 종료 상태 코드(Exit Status Code)로, 프로그램이 종료될 때 운영 체제나 호출한 프로세스에 프로그램 실행 결과를 알리는 데 사용된다.반환값의 역할0: 프로그램이 정상적으로 종료되었음을 나타낸다.그 외의 값: 오류가 발생했음을 나타냅니다. 일반적으로 오류가 발생한 경우 1, -1 같은 값을 반환한다.int main() { if (error) return 1; // 오류 return 0; // 정상 종료}운영 체제는 이 반환값을 확인하여 프로그램의 성공 여부를 판단하고, 이 정보를 다른 프로세스에 전달하거나 기록으로 남길 수 있다.void ..
Python Tutor - 코드 시각화 사이트 https://pythontutor.com/visualize.html#mode=edit 사이트 이름부터 Python을 주력으로 사용하는 것을 알 수 있지만 사실 더 많은 언어를 지원한다. 그 언어에는 C와 JS, Java도 있기 때문에 대부분 코딩을 처음 시작 하는 사람이라도 이 사이트를 이용할 수 있을 것이라 생각된다. 사용은 간단하다.사이트에 접속 후 아래 창에 코드를 입력하기만 하고 Visualize 버튼만 누르면 모든 준비가 끝난다. 위와 같이 코드를 한 줄 씩 실행하며 각 단계에서 어느 변수가 어느 메모리를 가르키며 코드를 진행하는지 확인할 수 있다.이 사이트를 통해 포인터의 개념에 대해서도 더 쉽게 이해할 수 있지 않을까 싶다. 버튼이 First, Prev, Next, Last 네 종류가 있으..
Visual Studio - Select an account 비활성화 Visual Studio에서 어느날부터 Github에 커밋을 하는 등의 상호작용을 할 때 자꾸 Select Account 팝업이 떠서 Git도 삭제도 해보고 이것저것 해보라고 했지만 전혀 해결되지 않았다.Win -> 제어판 -> 사용자 계정 -> 자격 증명 관리자 -> Windows 자격 증명 여기서 쭈욱 내리다보면 git:https://사용자@bitbucket.org 형식의 내용이 보일 것이다.여기서 주목해야하는 것은 2가지이다.1. git:https://사용자@bitbucket.org2. git:https://사용자@bitbucket.org/refresh_token 즉, 필요한 계정 1개의 쌍만 남기고 나머지 필요없는 계정을 지우는 것이다. 예를들어 AA와 BB계정이 Select Account 팝업으..
Escape Sequence 백슬래시(\) 뒤에 한 문자나 숫자 조합이 오는 문자 조합을 말한다. 줄 바꿈이나, ' , 문자 상수의 다른 특정 문자를 나타내려면 이스케이프 시퀀스를 사용해야 한다. 종류 Escape Sequence Content \a 경고음 \b 백스페이스 \f 폼 피드 \n 줄바꿈 \r 캐리지 리턴 \t 수평 탭 \v 수직 탭 \' ' 출력 \" " 출력 \? ? 출력 \\ \ 출력 \ooo ascii 8진수 표시 \xhhh ascii 16진수 표시 \n : 화면에 출력시 다음 행으로 줄을 바꾼다. \r : 행의 처음으로 커서를 이동한다. \f : 프린트 출력시 현재 페이지를 마친다.
의사코드 의사코드(pseudocode)는 프로그램을 작성할 때 각 모듈이 작동하는 논리를 표현하기 위한 언어이다. 특정 프로그래밍 언어의 문법에 따라 쓰인 것이 아니라, 일반적인 언어로 코드를 흉내 내어 알고리즘을 써놓은 코드를 말한다. 의사코드는 말 그대로 흉내만 내는 코드이기 때문에, 실제적인 프로그래밍 언어로 작성된 코드처럼 컴퓨터에서 실행할 수 없으며, 특정 언어로 프로그램을 작성하기 전에 알고리즘의 모델을 대략적으로 기술하는 데에 쓰인다. 의사코드는 실제 프로그래밍 언어처럼 엄밀한 문법을 따를 필요가 없기 때문에 다양한 변종이 있다. 그러나 보통 사용자가 컴퓨터 언어의 문법을 본딴 모양이 많다. 엄밀한 묘사가 불필요한 부분에는 자연어가 자유롭게 쓰이기도 한다. 예시는 다음과 같다. //냉장고의 음식을 꺼..
곱셈이 나눗셈보다 빠른 이유 컴퓨터의 ALU에서 연산을 수행할 때 컴퓨터는 덧셈이던 뺄셈이던 곱셈이던 나눗셈이던간에 간단히 말하자면 덧셈으로 모두 해결가능하다. 뺄셈의 경우엔 피연산자를 2의 보수로 치환하여 -형식으로 바꿔 둘이 더하는 형식이다. 곱셈의 경우엔 1001(9) * 11(3) 이라고 했을 때 각 자리 수를 계산한 값을 모두 합하여 결과를 도출할 수 있다. 더 편한 방법으로는 왼쪽으로 shift연산을 돌리면 해결되기도 한다. (이 경우엔 2의 배수를 곱하는 경우에만 성립한다.) 나눗셈의 경우엔 곱셈과 반대로 지속적으로 나누는 값으로 나누려는 값을 빼면된다. 하지만 여기에서 문제가 발생한다. 곱셈의 경우엔 이전에 계산했던 값을 알 필요가 전혀 없다. 위에서 예를 들었 듯, 1001 * 11 은 각 자리수를 ALU내부에서 모..
XML 파일 구조 XML은 eXtensible Markup Language의 약자이다. XML은 HTML과 같이 Markup Language로 이루어져있기 때문에 HTML을 공부한다면 수월하다. 물론 아예 몰라도 이해할 수 있을만큼 쉽다. XML과 HTML의 다른점은 XML은 HTML처럼 데이터를 보여주지 않고, 데이터를 저장하고 전달할 목적으로만 만들어졌다. 또한, XML 태그는 HTML 태그처럼 미리 정의되어 있지 않고, 사용자가 직접 정의할 수도 있다. 꺽쇠 기호로 감싸져 있는 것을 태그(Tag)라고 한다. HTML과 마찬가지로 라는 태그를 생성했다면 라고 종료 태그를 달아야한다. value! 태그 사이에 있는 내용을 값이라고 하고, 실제로 데이터를 주고 받을 때 해당 부분을 사용한다. 주석은 으로 사용할 수..
백준 11047 동전 0 보호되어 있는 글입니다.