ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • NAVER 부스트코스 CS50 - 3. 배열
    공부일기/CS50 2020. 8. 10. 21:05

    3. 배열

     

    3-1 컴파일링

    전처리: # 시작하는 헤더파일은 해당 파일의 실제코드로 대체 된다.

    컴파일: 어셈블리 코드로 바뀌고(CPU 실제 이해하는 언어에 가까워짐), 명렁어 실행.

    어셈블링: 0 1 이루어진 머신코드를 만듦. 어셈블리 코드를 오브젝트 코드로 변경.

    링킹: 단계에서 생성된 파일들을 연결.

     

    3-2 디버깅

    버그: 의도하지 않은 프로그램 내의 실수

    논리적 오류 해결을 위해서 printf( ) 함수를 사용할 있다.

    코드가 적힌 옆의 빨간 점을 클릭해 단계별로 실행할 있다.

     

    3-3 코드의 디자인

    코드 작성 만큼이나 중요한 코드가 정확한지 확인하는 테스트를 만드는 것이다.

    특히 새로운 기능을 추가할 프로그램이 작동하도록 작동여부를 확인해야 한다.

    코드 작성시에는 나와 다른 사람들이 읽기 쉽도록, 유지보수하기 쉽도록 해야 한다.

     

    3-4 배열(1)

    형변환: 하나의 자료형을 다른 종류로 바꾸는 행위

    여러 개의 값을 가진 하나의 변수를 만들고 싶을 배열을 사용

    값들의 리스트로 모두 같은 자료형의 값들이 같은 이름의 변수에 저장돼있다.

     

     

    3-5 배열(2)

    const 함수를 사용해 전역변수로 활용할 있다.

    전역변수는 함수 바깥에서 선언하는 변수, 관례적으로 대문자료 표기

     

     

    3-6 문자열과 배열

    C에서 문자열의 저장공간 크기는 문자의 갯수 +1 이다.

    \0 : 종단 문자

    2차원 배열이 이뤄질 있다.

    문자열의 길이 제한이 있을 있을까? -> 컴퓨터가 가진 메모리의 용량만큼 제한.

     

    3-7 문자열의 활용

    strlen( ) : 문자열의 길이를 알려주는 함수

     

     

    3-8 명령행 인자

    int main(void)

    int : 출력 변수

    void: 입력으로 받는 변수.

     

    int main(int argc, string argv[])

    argc main 함수가 받게 입력의 개수

    argv[] 입력이 포함되어 있는 배열. 처음에 입력하는 프로그램 이름이 argv[0].

     

     

     

    // 개인적으로 3주 차가 난이도가 급상승해서 혼자서는 미션을 풀지 못했고, 팀원분들 덕분에 해냈다. 샘플 코드도 이해하기 힘들었어서 팀원분이 쓰신 코드를 주석을 보며 따라가고 이해하려고 했다. C에서 포인터 개념은 아직 낯설고 어렵다. 아 그리고 malloc() 함수를 활용해 동적 메모리 할당을 한 후에는 free() 함수를 사용해 메모리 할당을 해제해야 메모리를 효율적으로 활용할 수 있다!

Designed by Tistory.