본문 바로가기
C언어

[C언어] int array, char array만드는 법, 초기화 하는 법

by 노후공략집 2023. 1. 20.
반응형

프로그래밍을 하다보면 가장 쉽게 만들고 사용할 수 있는 것이 int array 이다. 

여러가지 숫자를 넣어서 관리하는 것이 알고리즘의 기본이 아니겠는가?

 

int numArray[4] = {0};

 

가장 쉬운 int array 선언방법이다. 

위처럼 {0} 으로 선언해주면 [0][1][2][3] 의 모든 공간이 다 0 으로 초기화 된다. 

 

printf("numArray is %d %d %d %d\n", numArray[0], numArray[1], numArray[2], numArray[3]);
  //numArray is 0 0 0 0

 

이런식으로 데이터의 접근도 어렵지 않다. 모두 0으로 초기화 된것을 알 수 있다. 

 

  numArray[0] = 1;
  numArray[1] = 2;
  numArray[2] = 3;
  numArray[3] = 4;

  printf("numArray is %d %d %d %d\n", numArray[0], numArray[1], numArray[2], numArray[3]);
  //numArray is 1 2 3 4

하나씩 값을 저장하는 것도 어렵지 않다. 

 

하지만 char arrray 의 경우에는 조금 다르다. 

아래처럼 {'a'} 로 초기화 해도 [0][1][2][3] 모두 같은 문자로 초기화 되지 않는다. 

char nameArr[4] = {'a'};

 

  printf("nameArr is %c %c %c %c\n", nameArr[0], nameArr[1], nameArr[2], nameArr[3]);
  //nameArr is a

  printf('nameArr is %s\n', nameArr);
  //nameArr is a

[1][2][3] 은 비워져 있는 것을 볼 수 있다. 

그리고 %s 로 출력하는 방법도 한번 같이 봐두자. 

 

아래와 같이 각 배열마다 한글자씩 접근해서 수정도 가능하다. 

문자열의 마지막은 '\0' 로 채워져야 한다. (그래야 프로그램이 문자열의 끝을 알 수 있다.)

  nameArr[0] = 'b';
  nameArr[1] = 'c';
  nameArr[2] = 'D';
  nameArr[3] = '\0';
  printf('nameArr is %s\n', nameArr);
  //nameArr is bcd

 

또 다른 문자열 배열 만드는 방법은 아래와 같다. 

char *anotherArr = "aaab";
  printf("anotherArr is %s"\n, anotherArr);
  //anotherArr is aaab

위와 같이 만드는 방법이 가장 쎄련되고 편리하다. 

 

반응형

'C언어' 카테고리의 다른 글

[C언어] UART 기능을 개발중입니다. (전역변수)  (0) 2023.01.20

댓글