# cs50

2.CS50 요약3(C_자료형, 형식지정자, 연산자, 함수, 중첩 루프, 하드웨어의 한계)
CS50 요약 - C의 자료형, 형식지정자, 연산자, 함수, 중첩 루프 및 하드웨어의 한계에 대해 기록된 포스팅
[CS50] cs50.h 를 로컬 vscode 에서 사용하기 for MacOS
clang: error: linker command failed with exit code 1 (use -v to see invocation) 에러 해결방법 for mac
연결 리스트: 도입
데이터 구조는 우리가 컴퓨터 메모리를 더 효율적으로 관리하기 위해 새로 정의하는 구조체입니다.일종의 메모리 레이아웃, 또는 지도라고 생각할 수 있습니다.이번 강의에서는 데이터 구조중 하나인 연결 리스트에 대해 알아보겠습니다.배열에서는 각 인덱스의 값이 메모리상에서 연이
배열의 크기 조정하기
단순하게 현재 배열이 저장되어 있는 메모리 위치의 바로 옆에 일정 크기의 메모리를 더 덧붙이면 되겠지만, 실제로는 다른 데이터가 저장되어 있을 확률이 높습니다.따라서 안전하게 새로운 공간에 큰 크기의 메모리를 다시 할당하고 기존 배열의 값들을 하나씩 옮겨줘야 합니다.따
malloc과 포인터 복습
main 함수 안의 첫 두 줄에서는 포인터 x와 y를 선언합니다.그리고 x에는 malloc 함수를 이용해서 int 자료형 크기에 해당하는 메모리를 할당합니다.그 다음에는 x와 y 포인터가 가리키는 지점에 각각 42와 13을 저장합니다.여기서 문제가 될 만한 부분은 \*
파일 읽기
위 코드에서 main 함수를 보면 사용자로부터 입력을 받는 것을 알 수 있습니다.여기서는 파일의 이름을 입력으로 받을 예정입니다. 만약 argc가 2가 아니라면, 파일명이 입력되지 않았거나 파일명 외의 다른 인자가 입력되었기 때문에 1(오류)을 리턴하고 프로그램을 종료
파일 쓰기
스택은 우리가 여태껏 많이 써왔던 get_int나 get_string 과 같은 함수에서도 사용됩니다.만약 이런 함수들을 직접 구현한다면 아래와 같은 코드가 될 것입니다.위 코드들에서 scanf라는 함수는 사용자로부터 형식 지정자에 해당되는 값을 입력받아 저장하는 함수입