'C언어 독학하기-(10) 배열과 문자열에 대하여'
이번에 정리할 내용은 바로 C언어 프로그래밍에서 데이터를 잘 관리하고 활용하기 위해서 빠질 수 없는 배열과 문자열에 대해 정리해보도록 하겠습니다.
<12-1 배열>
배열(Array): C언어 프로그래밍에서 데이터를 그룹으로 묶어서 표현하는 방법
for 반목문을 통해 배열의 모든 요소를 0으로 초기화시키는 코드 예시를 볼 수 있는데요, 만약 배열의 각 요소를 모두 0으로 초기화한다면 쉼표를 활용하여 훨씬 간단하게 구현이 가능합니다.
(붉은색 예시처럼 0 이외의 값으로 초기화 시에는 활용 X)
배열을 선언할 때, [ ]에 배열의 요소 개수를 입력하지 않고 선언해도 요소 개수만큼 자동으로 메모리 공간이 생성되기 때문에 생략이 가능합니다.
배열에 저장된 각 요소 값도 일반적인 변수처럼 읽어오거나 요소 값을 불러와 연산이 가능합니다.
<12-2 문자열>
배열을 이용하여 문자열을 저장하려면 문자 개수 정보를 함께 저장하기 위해 맨 뒤에 널(NULL) 문자인 0 (or /0)을 추가하여 문자열임을 컴퓨터가 인지할 수 있도록 합니다. 그리고 위 예시처럼 문자열형 상수 표현을 통해서도 초기화가 가능합니다.
문자열을 저장할 때 맨 뒤에 입력한 널 문자 0을 이용해 어떻게 문자열의 길이를 구하게 되는지 위의 간단한 예시를 통해 알 수 있습니다. 저장된 배열의 길이에 상관없이 문자열이 입력되고 난 다음에 위치한 0이 나오기 전까지 배열 요소 개수만을 더한 것이 문자열의 길이입니다.
문자열의 길이를 구할 때마다 위의 코드처럼 구하게 되면 효율이 떨어지기 때문에 C언어 내장 함수로 제공되는 문자열 내장 함수를 잘 활용하면 됩니다. 내장 함수 사용은 아래를 참고하면 됩니다.
- 함수 사용 예시 -
strlen(문자열이 저장된 변수 이름)
strcpy(복사해서 저장할 변수 이름, 복사할 기존 변수 이름)
strcat(기존 문자열이 저장된 변수 이름, 새로 덧붙일 문자열)
<12-3 2차원 배열>
2차원 배열로 선언하더라도 실제 메모리에 저장될 때는 1차원 배열로 저장되며, 2차원 배열을 사용하게 되면 1차원 배열을 C언어 2차원 배열 문법을 통해 재구성한 2차원 데이터 형식으로 사용하게 됩니다.
char temp1[3] = {1, 2, 3};
char temp2[3] = {4, 5, 6};
>>> char temp[2][3] = {{1, 2, 3}, {4, 5, 6}};
2차원 배열을 초기화하는 것은 간단하게 표현하면 1차원 배열을 한 열씩 묶어서 여러 행을 만드는 것으로 보면 이해하기 쉽습니다.
이번에는 C언어 프로그래밍에서 매우 중요한 부분인 배열과 문자열에 대하여 정리해보았습니다. 원래 C언어 코드를 짤 때 배열을 많이 활용했었지만, 이렇게 정의부터 차근차근 머릿속으로 정리를 해보면서 새롭게 알게 된 내용도 많았습니다.
© 2022. 달팽이멘토 all rights reserved
추천하는 글
소니 모빌리티 설립, 소니 전기차 비전 S-1, 비전 S-2 디자인, 스펙 알아보기
'소니 모빌리티 설립, 소니 전기차 비전 S-01, 비전 S-02 디자인, 스펙 알아보기' 이번 CES 2022에서 많은 기술들과 제품들이 발표되었는데 그 중에서 눈을 사로잡았던 소식은 바로 소니가 전기차 시
anywhereifyoucan.com
블로그 및 웹사이트 우클릭 금지, 복사 방지 HTML 코드 적용하는 법 알아보기
'블로그 및 사이트 우클릭 금지, 복사 방지 HTML 코드 적용하는 법 알아보기' 다양한 사진, 영상, 글 콘텐츠들에 저작권이 있음에도 불구하고 무단 복사, 다운로드 등이 상당히 많이 이루어지고 있
anywhereifyoucan.com
'프로그래밍(코딩) > C언어' 카테고리의 다른 글
C언어 독학하기-(10) 배열과 문자열에 대하여 (0) | 2022.01.23 |
---|---|
C언어 독학하기-(9) 지역 변수와 전역 변수에 대하여 (0) | 2022.01.13 |
C언어 독학하기-(8) 시프트 연산자와 비트 연산자 (0) | 2022.01.06 |
C언어 독학하기-(7) C언어 반복문에 대하여 (0) | 2021.12.27 |
C언어 독학하기-(6) C언어 조건문에 대하여 (0) | 2021.12.15 |
C언어 독학하기-(5) C언어 연산자에 대하여 (0) | 2021.10.11 |