cs50 TIL 02 :: [CS50] C언어 int main(void){} When (Green flag) clicked는 int main(void){} 와 동일하다. stdio.h라는 파일을 찾아 printf 함수에 접근할 수 있도록 도와준다. printf("hello world\n"); 에서 \n은 줄바꿈(enter)역할을 한다. 우리는 '소스코드'를 컴퓨터가 이해할 수 있는 '머신코드'로 변환, 즉 컴파일해야 한다. 터미널창의 $... TILCScs50CS [CS50] Array - 명령행 인자 명령행 인자를 받는 프로그램을 C로 작성할 수 있다. 명령행 인자 argv argc 여태껏 많이 사용해온 main 함수를 보다 자세히 들여볼 때가 왔다. main도 그 형태를 보면 하나의 함수임을 알 수 있다. 이젠 더이상 main() 안에 기계적으로 void라고 입력하는 대신 아래 코드와 같이 argc, argv 를 정의해보자. 여기서 첫번째 변수 argc는 main 함수가 받게 될 입력의... 명령행 인자cs50arrayarray [CS50] 1. 컴퓨팅 사고 때문에 어려울 것 같아 미루고 미루다 오늘 드디어 시작했다. 컴퓨터는 간단하게 표현하면 3가지 절차로 이루어져 있다. 정보가 들어가는 'input'과 처리 결과인 'output', 그리고 그 사이에 처리 과정인 'CS(Computer Science)'가 그것이다. 즉, CS 공부는 처리 과정을 구현하기 위한 지식을 쌓는 일이라고 할 수 있다. 우리가 커뮤니케이션을 위해서 언어가 필요하듯이, ... 부스트코스cs50cs50 CS50 - 메모리 강의 정리 2개의 16진수는 1byte의 2진수로 변환되기 때문에 정보를 표현하기 매우 유용하다. 메모리 50이란 값이 저장된 변수 n은 메모리의 어디에 저장되어 있을까? c언어에서는 변수가 저장된 메모리 주소를 읽어올 수 있다. &연산자로 변수의 메모리상 주소를 16진수로 받을 수 있다. *연산자는 메모리상 주소에 저장된 실제 값을 얻을수있다. %n은 변수n의 주소를 표시하고 *&n은 변수n의 주소에... TILcs50TIL [CS50] C언어 - 문자열 학습 목표 C로 문자열 형식을 가진 변수를 선언하고 출력하는 프로그램을 만들 수 있다. 핵심 단어 형식지정자 string make > Code C는 오래된 언어기 때문에 변수가 저장하는 데이터의 종류를 아주 정확하게 명시해줘야 한다. string 은 단어나, 구절, 문장을 부르는 말이다. 우리는 위에서 get_string의 반환값으로 문자열을 animal 이라는 변수에 저장할 것이기 때문에 ... String문자열cs50c언어make형식지정자String [ TIL 02 ] CS50 강의 노트(2) 소스 코드: 우리가 직접 작성한 코드 머신 코드: 2진수로 작성된, 컴퓨터가 이해할 수 있는 코드 소스 코드를 머신 코드로 변환하는 작업을 컴파일러라는 프로그램이 수행해준다. C언어에서는 make 툴을 이용하면 소스 파일의 링크, 컴파일, 빌드 작업을 자동화해준다. #으로 시작되는 C 소스 코드가 전처리기에 실질적인 컴파일이 이루어지기 전에 무언가를 실행하라고 알려준다. 컴파일러라고 불리는 ... 메모리 구조cs50컴파일링cs50 시저 텍스트 암호 솔루션 CS50 문제 세트 2 이번 주 문제 세트에서 저는 C로 만든 텍스트 암호 솔루션을 만들어야 했습니다. 이것은 큰 도전이었고 어레이 작업에 익숙해지고 ASCII 값 테스트를 통해 이 문제에 대한 올바른 솔루션을 찾기 전에 몇 가지 솔루션을 테스트하기 때문에 매우 재미있었습니다. C로 프로그래밍을 시작하고 이 문제에 대한 솔루션을 연구하고 있다면 여기에서 CS50 검사 명령을 통과한 솔루션을 만든 방법을 공유하고 있... cs50programmingchallengec [CS50] - 알고리즘 이를 알고리즘이라고 하는데, 알고리즘은 어떻게 정의할 수 있고, 그 정확성과 효율성은 어떨까요? 우리가 일상 생활에서 하는 일들을 컴퓨터가 이해할 수 있는 알고리즘으로 표현할 수 있습니다. 효율적인 알고리즘에 대해 설명할 수 있습니다. 전화번호부를 집어 들고 첫 페이지를 펼친 후 Mike Smith가 그 페이지에 있는지 찾습니다. 하지만 언젠가는 Mike Smith 가 전화번호부에 있다면 이... cs50cs50 [C] 포인터를 이용해 두 변수의 값을 서로 바꿔보자 위 코드는 변수 x와 y의 값을 서로 바꾸기 위해 짠 코드이다. 과연 x와 y의 값은 바뀌었을까? 출력값을 확인해보면 바뀌지 않았다. 왜 바뀌지 않았을까? 그 이유는 바로 swap함수는 x, y의 복사된 값을 인자로 받은 a, b를 서로 바꿨을 뿐이지 실제 x와 y를 바꾸지 않았기 때문이다. main이 호출되면 스택에 x, y 두 변수를 위한 영역이 할당되고 각각 1과 2로 초기화된다. 이어... cs50포인터CC [CS50] 메모리 정리 16진수로 값을 표현하는 방법을 이해하고 나면 16진수, 2진수, 10진수를 변환하는 프로그램을 만들어볼 수 있습니다. 2^4이 16이기 때문에 4bits씩 두 덩어리로 나누어 보면 0000 부터 1111까지는 16진수로 표현할 수 있다는 것을 알 수 있습니다. 반대로 ‘*’를 사용하면 그 메모리 주소에 있는 실제 값을 얻을 수 있습니다. 따라서 첫 번째 printf문과 같이 포인터 p의 값... cs50memorycs50
TIL 02 :: [CS50] C언어 int main(void){} When (Green flag) clicked는 int main(void){} 와 동일하다. stdio.h라는 파일을 찾아 printf 함수에 접근할 수 있도록 도와준다. printf("hello world\n"); 에서 \n은 줄바꿈(enter)역할을 한다. 우리는 '소스코드'를 컴퓨터가 이해할 수 있는 '머신코드'로 변환, 즉 컴파일해야 한다. 터미널창의 $... TILCScs50CS [CS50] Array - 명령행 인자 명령행 인자를 받는 프로그램을 C로 작성할 수 있다. 명령행 인자 argv argc 여태껏 많이 사용해온 main 함수를 보다 자세히 들여볼 때가 왔다. main도 그 형태를 보면 하나의 함수임을 알 수 있다. 이젠 더이상 main() 안에 기계적으로 void라고 입력하는 대신 아래 코드와 같이 argc, argv 를 정의해보자. 여기서 첫번째 변수 argc는 main 함수가 받게 될 입력의... 명령행 인자cs50arrayarray [CS50] 1. 컴퓨팅 사고 때문에 어려울 것 같아 미루고 미루다 오늘 드디어 시작했다. 컴퓨터는 간단하게 표현하면 3가지 절차로 이루어져 있다. 정보가 들어가는 'input'과 처리 결과인 'output', 그리고 그 사이에 처리 과정인 'CS(Computer Science)'가 그것이다. 즉, CS 공부는 처리 과정을 구현하기 위한 지식을 쌓는 일이라고 할 수 있다. 우리가 커뮤니케이션을 위해서 언어가 필요하듯이, ... 부스트코스cs50cs50 CS50 - 메모리 강의 정리 2개의 16진수는 1byte의 2진수로 변환되기 때문에 정보를 표현하기 매우 유용하다. 메모리 50이란 값이 저장된 변수 n은 메모리의 어디에 저장되어 있을까? c언어에서는 변수가 저장된 메모리 주소를 읽어올 수 있다. &연산자로 변수의 메모리상 주소를 16진수로 받을 수 있다. *연산자는 메모리상 주소에 저장된 실제 값을 얻을수있다. %n은 변수n의 주소를 표시하고 *&n은 변수n의 주소에... TILcs50TIL [CS50] C언어 - 문자열 학습 목표 C로 문자열 형식을 가진 변수를 선언하고 출력하는 프로그램을 만들 수 있다. 핵심 단어 형식지정자 string make > Code C는 오래된 언어기 때문에 변수가 저장하는 데이터의 종류를 아주 정확하게 명시해줘야 한다. string 은 단어나, 구절, 문장을 부르는 말이다. 우리는 위에서 get_string의 반환값으로 문자열을 animal 이라는 변수에 저장할 것이기 때문에 ... String문자열cs50c언어make형식지정자String [ TIL 02 ] CS50 강의 노트(2) 소스 코드: 우리가 직접 작성한 코드 머신 코드: 2진수로 작성된, 컴퓨터가 이해할 수 있는 코드 소스 코드를 머신 코드로 변환하는 작업을 컴파일러라는 프로그램이 수행해준다. C언어에서는 make 툴을 이용하면 소스 파일의 링크, 컴파일, 빌드 작업을 자동화해준다. #으로 시작되는 C 소스 코드가 전처리기에 실질적인 컴파일이 이루어지기 전에 무언가를 실행하라고 알려준다. 컴파일러라고 불리는 ... 메모리 구조cs50컴파일링cs50 시저 텍스트 암호 솔루션 CS50 문제 세트 2 이번 주 문제 세트에서 저는 C로 만든 텍스트 암호 솔루션을 만들어야 했습니다. 이것은 큰 도전이었고 어레이 작업에 익숙해지고 ASCII 값 테스트를 통해 이 문제에 대한 올바른 솔루션을 찾기 전에 몇 가지 솔루션을 테스트하기 때문에 매우 재미있었습니다. C로 프로그래밍을 시작하고 이 문제에 대한 솔루션을 연구하고 있다면 여기에서 CS50 검사 명령을 통과한 솔루션을 만든 방법을 공유하고 있... cs50programmingchallengec [CS50] - 알고리즘 이를 알고리즘이라고 하는데, 알고리즘은 어떻게 정의할 수 있고, 그 정확성과 효율성은 어떨까요? 우리가 일상 생활에서 하는 일들을 컴퓨터가 이해할 수 있는 알고리즘으로 표현할 수 있습니다. 효율적인 알고리즘에 대해 설명할 수 있습니다. 전화번호부를 집어 들고 첫 페이지를 펼친 후 Mike Smith가 그 페이지에 있는지 찾습니다. 하지만 언젠가는 Mike Smith 가 전화번호부에 있다면 이... cs50cs50 [C] 포인터를 이용해 두 변수의 값을 서로 바꿔보자 위 코드는 변수 x와 y의 값을 서로 바꾸기 위해 짠 코드이다. 과연 x와 y의 값은 바뀌었을까? 출력값을 확인해보면 바뀌지 않았다. 왜 바뀌지 않았을까? 그 이유는 바로 swap함수는 x, y의 복사된 값을 인자로 받은 a, b를 서로 바꿨을 뿐이지 실제 x와 y를 바꾸지 않았기 때문이다. main이 호출되면 스택에 x, y 두 변수를 위한 영역이 할당되고 각각 1과 2로 초기화된다. 이어... cs50포인터CC [CS50] 메모리 정리 16진수로 값을 표현하는 방법을 이해하고 나면 16진수, 2진수, 10진수를 변환하는 프로그램을 만들어볼 수 있습니다. 2^4이 16이기 때문에 4bits씩 두 덩어리로 나누어 보면 0000 부터 1111까지는 16진수로 표현할 수 있다는 것을 알 수 있습니다. 반대로 ‘*’를 사용하면 그 메모리 주소에 있는 실제 값을 얻을 수 있습니다. 따라서 첫 번째 printf문과 같이 포인터 p의 값... cs50memorycs50