2018년 1월 18일
이번주 목요일에 나는 마이크로소프트 한국지사로 TIPS 5차시 수업을 들으러 갔습니다. 강사는 Tipssoft의 대표이사 김성엽 이사님 이십니다. 대표님은 마이크로소프트 C++프로그래밍 부문 MVP로 활동 하고 계십니다.
이번 수업에서는 배열을 배웠습니다.
배열 : 동일한 타입의 데이터가 여러 개 저장되어 있는 데이터 저장장소
문자열에서의 배열 : char형 사용 문자열이 끝나는 시점에 NULL을 삽입 해주어야 합니다.(아스키 값 0)
NULL문자 : 문자열이 끝나는 시점을 전달해주기 위하여 만들어진 문자입니다.
Char arr[6]={d,r,i,n,k,0} 와 같이 선언을 하거나
Char arr[6]=”drink”와 같이 선언을 하여야 하는데 후자의 경우 자동으로 문자열 끝에 Null문자가 삽입되어 들어갑니다.
문자열상수는 메모리 구조상 프로그램의 성능저하를 크게 만들기 때문에 후자와 같이 초기화 하하는 것은 지양하는 것이 좋습니다.
C언어 내부에는 문자열의 길이를 구하거나 문자를 찾거나 하는 등의 여러 String기본함수가 있다. 밑에는 직접 코딩한 몇가지 예시입니다.
2차원 배열 : 배열의 차원수가 2차원(행과 열)로 이루어져 있습니다. 행렬과 같은방식으로 읽고 씁니다.
배열의 형태가 2차원이라고 해서 메모리가 직사각형의 형태로 사용되지는 않습니다. 단지 컴파일러가 개발자의 편의를 봐줘서 2차원적으로 사고하기 더 편하도록 지원하는 방식으로 메모리는 1차원배열의 개수가 행의 개수만큼 이어져 있습니다. 아래는 2차원 배열을 사용하는 예시입니다.