본문 바로가기

CS기초6

[CS 기초지식 자료구조] -27일차 1. malloc/ pointer x는 malloc으로 메모리를 할당시켜 줬는데, y는 그러지 않아서 버그가 날 것 -> x=y로 같은 메모리를 공유하거나(값이 덮어쓰이겠지만) 메모리를 할당시켜줘야함 2.realloc => tmp 메모리에 메모리를 할당해 놓고 list와 tmp가 가리키는 곳을 동일하게 지정 2022. 6. 22.
[CS 기초지식 메모리] -24일차 1. 16진수 10진수 -> 16진수 0,1,2,3,4,5,6,7,8,9,a,b,c,e,d,f 4비트씩 16진수로 변환하고, 구별해주기 위해 0x를 앞에 붙혀준다 -> 0x7ffe00b3adbc’ -> n의 주소 얻고 그 주소에 해당하는 값을 호출 -> 50 2. 주소 S='EMMA' 로정의했을때 저장되어있는 메모리의 한칸 한칸을 비교하기 떄문에 제대로 나옴 but, => 문자열을 '저장'하고 비교하면 각각의 주소가 다르기 때문에 비교를 값이 같아도 다르다고 나온다 3. 메모리 저장 => malloc으로 메모리 자체를 복사하여 t에 할당 malloc free 4. 메모리 교환, 스택, 힙 machine code: 프로그램이 실행될 때 컴파일된 바이너리 globals: 포로그램 내부 지정된 전역 변수 he.. 2022. 6. 18.
[CS 기초지식 알고리즘] -20일차 1. 탐색 - 선형 탐색 인덱스의 처음부터 끝까지 탐색 - 이진 탐색 배열이 sorted, 중간 인덱스부터 시작해서 작거나 큰 쪽으로 이동하며 탐색 2. 알고리즘 표기법 O, Ω 로 표기 O :실행 시간의 상한(최악의 수까지 고려했을 때의 알고리즘 속도) Ω: 실행 시간의 하한(최대로 운이 좋았을 때의 알고리즘 속도) 3. 선형 검색 typedef 이름 으로 새로운 자료구조를 형성해서 사용할 수 있다! 선형 탐색은 시간복잡도가 높은 알고리즘 4. 버블 정렬 두 개의 인접한 자료 값을 비교하면서 위치를 교환해나가는 방식 -> 너무 많은 시간이 걸릴 수 있음 자료가 sorted 되어있다면 O, else면 정렬하는 시간도 포함되어 마찬가지로 시간이 오래 걸린다 5. 선택 정렬 가장 작은 수를 찾아 첫 번째 위.. 2022. 6. 14.
[CS 기초지식 배열]-18일차 1. 컴파일링 clang ~ 이나 make 라는 코드로 machine 코드를 만들었는데, 이 과정에서 컴퓨터는 잔처리 입력이 포함된 배열 2022. 6. 12.
[CS 기초지식 C기초]-15~16일차 1. C언어의 기본 #include int main(void) { printf("hello world\n"); } 코드로 입력하는 source code, 0과 1로 이루어진 machine code, 그 사이에서 comiler가 작동하여 우리가 친 코드를 컴퓨터가 알아들을 수 있는 이진법 코드로 변환해준다. 1. clang hello.c -> “clang” 이라는 컴파일러로 “hello.c”라는 코드를 컴파일해라 2. 그럼 a.out 이라는 파일이 생성됨(0과 1로 형성된) 3. 이 코드를 ./a.out 으로 실행! 2. string #include #include int main(void) { string answer=get_string("What's your name?\n"); printf("I'm %.. 2022. 6. 10.
[CS 기초지식 2진수/비트]-14일차 1. 2진수 0,1로만 이루어진 컴퓨터 2진법의 접근 자리 수 하나하나로 나누어서 111 의 경우 4*1+2*1+1*1=7, 10진법의 7을 의미한다 10진법에서의 5를 2진수로 바꿔본다면, 101 4*1+2*0+1*1=5 2. 비트 2진법에서의 하나의 자릿수. -> 바이트 (8개의 비트가 모여 만들어짐) 하나의 바이트 -> 8개의 비트, 하나의 비트 -> 0 OR 1 바이트: 256개의 서로 다른 비트 2022. 6. 8.