본문 바로가기

프로그래밍(코딩)/C언어

C언어 독학하기-(10) 배열과 문자열에 대하여

반응형

'C언어 독학하기-(10) 배열과 문자열에 대하여'

 

 

이번에 정리할 내용은 바로 C언어 프로그래밍에서 데이터를 잘 관리하고 활용하기 위해서 빠질 수 없는 배열과 문자열에 대해 정리해보도록 하겠습니다.

 

 



 

<12-1 배열>

 

 

 

배열(Array): C언어 프로그래밍에서 데이터를 그룹으로 묶어서 표현하는 방법

 

 

 

 

 

배열 선언
배열의 메모리 구조 (1차원)
배열의 특정 배열 요소에 값 대입

 

 

 

 

 

for문을 통해 배열의 모든 요소를 0으로 초기화 예시
쉼표를 사용한 배열 초기화 문법

 

for 반목문을 통해 배열의 모든 요소를 0으로 초기화시키는 코드 예시를 볼 수 있는데요, 만약 배열의 각 요소를 모두 0으로 초기화한다면 쉼표를 활용하여 훨씬 간단하게 구현이 가능합니다.

 

(붉은색 예시처럼 0 이외의 값으로 초기화 시에는 활용 X)

 

 

 

 

 

 

배열을 선언할 때, [ ]에 배열의 요소 개수를 입력하지 않고 선언해도 요소 개수만큼 자동으로 메모리 공간이 생성되기 때문에 생략이 가능합니다.

 

 

 

 

 

배열 요소 값 사용 예시

 

배열에 저장된 각 요소 값도 일반적인 변수처럼 읽어오거나 요소 값을 불러와 연산이 가능합니다.

 

 

 


 

<12-2 문자열>

 

 

 

 

 

배열로 문자열 저장 예시

 

배열을 이용하여 문자열을 저장하려면 문자 개수 정보를 함께 저장하기 위해 맨 뒤에 널(NULL) 문자인 0 (or /0)을 추가하여 문자열임을 컴퓨터가 인지할 수 있도록 합니다. 그리고 위 예시처럼 문자열형 상수 표현을 통해서도 초기화가 가능합니다.

 

 

 

 

 

저장된 문자열의 길이 구하는 코드 예시

 

문자열을 저장할 때 맨 뒤에 입력한 널 문자 0을 이용해 어떻게 문자열의 길이를 구하게 되는지 위의 간단한 예시를 통해 알 수 있습니다. 저장된 배열의 길이에 상관없이 문자열이 입력되고 난 다음에 위치한 0이 나오기 전까지 배열 요소 개수만을 더한 것이 문자열의 길이입니다.

 

 

 

 

 

문자열과 관련된 내장 함수

 

문자열의 길이를 구할 때마다 위의 코드처럼 구하게 되면 효율이 떨어지기 때문에 C언어 내장 함수로 제공되는 문자열 내장 함수를 잘 활용하면 됩니다. 내장 함수 사용은 아래를 참고하면 됩니다.

 

 

 

- 함수 사용 예시 -

 

strlen(문자열이 저장된 변수 이름)

strcpy(복사해서 저장할 변수 이름, 복사할 기존 변수 이름)

strcat(기존 문자열이 저장된 변수 이름, 새로 덧붙일 문자열)

 

 

 


 

<12-3 2차원 배열>

 

 

 

2차원 배열의 메모리 구조 (1차원으로 표현)
2차원 배열 선언 예시
2차원 배열인 data 변수의 논리적 메모리 구조 형태

 

 

 

2차원 배열이 1차원 배열로 저장되는 구조 예시

 

2차원 배열로 선언하더라도 실제 메모리에 저장될 때는 1차원 배열로 저장되며, 2차원 배열을 사용하게 되면 1차원 배열을 C언어 2차원 배열 문법을 통해 재구성한 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차원 배열을 한 열씩 묶어서 여러 행을 만드는 것으로 보면 이해하기 쉽습니다.

 

 

 



 

 

Do it! C언어 프로그래밍 입문

 

이번에는 C언어 프로그래밍에서 매우 중요한 부분인 배열과 문자열에 대하여 정리해보았습니다. 원래 C언어 코드를 짤 때 배열을 많이 활용했었지만, 이렇게 정의부터 차근차근 머릿속으로 정리를 해보면서 새롭게 알게 된 내용도 많았습니다.

 

 

 

 

 

© 2022. 달팽이멘토 all rights reserved

 

 

 

 

 

추천하는 글

 

 

소니 모빌리티 설립, 소니 전기차 비전 S-1, 비전 S-2 디자인, 스펙 알아보기

'소니 모빌리티 설립, 소니 전기차 비전 S-01, 비전 S-02 디자인, 스펙 알아보기' 이번 CES 2022에서 많은 기술들과 제품들이 발표되었는데 그 중에서 눈을 사로잡았던 소식은 바로 소니가 전기차 시

anywhereifyoucan.com

 

 

블로그 및 웹사이트 우클릭 금지, 복사 방지 HTML 코드 적용하는 법 알아보기

'블로그 및 사이트 우클릭 금지, 복사 방지 HTML 코드 적용하는 법 알아보기' 다양한 사진, 영상, 글 콘텐츠들에 저작권이 있음에도 불구하고 무단 복사, 다운로드 등이 상당히 많이 이루어지고 있

anywhereifyoucan.com

 

반응형