생선이의 잡다한 블로그
C언어 강좌 5 - 귀찮으니 배열을 사용하자! 문자열 본문
안녕하세요 생선스프입니다~!
이번에는 배열과 문자열을 다뤄보도록 하겠습니다
우선 배열이 무엇일까요?
만약 변수가 100개가 필요하다고 하겠습니다
그러면 int num1, num2, num3 ... num100; 이럴수는 없습니다!
그래서 사용하는게 배열입니다
우선 배열은 아래와 같이 적어줍니다
int num[100]; |
이렇게 변수명 뒤에 만들어주고싶은만큼 갯수를 적어주시면 됩니다
그러면 값은 어떻게 넣어줄까요?
num[0] = 0; num[1] = 1; |
이렇게 변수명 뒤에 숫자를 적어주고 그 뒤부터는 같습니다
아니면 또 다른 방법이 있습니다
배열을 만들때가 아닌 만들고 나서라면 어쩔수 없지만
위와 같이 적어주면 여러줄을 써야하고 귀찮습니다
그래서 아래와 같이 적어줄 수 있습니다
int num[100] = {0,1,2,3,4,5,6,7,8,9,10}; |
이렇게 적어주면 0부터 차례대로 값이 들어가게 됩니다
즉 num[9] 까지는 순서대로 들어가고 나머지는 0 이 들어가게되는거죠
그리고 0 부터 시작하니 100개를 만든다고하면 0~99 개 까지가 생기게 되는거죠
하지만 여기서 한가지 문제가 생깁니다
저번 강좌에서도 말했듯이 함수는 초기화를 해주어야합니다(사용하기 전까지는 안해도되긴하지만)
그러면 일일이 또 100개 다 초기화해주어야하는 귀찮은 일이 생길까요?
그럼 보통 일반적으로 나중에 배울 반복문을 이용하여 초기화하려고 할겁니다
하지만 이것보다 더 쉬운 방법이 있습니다
처음에 함수를 선언할때
int num[100] = {0}; |
이렇게 해주면 됩니다
아까 위에서 말했듯이 하나만 0 으로 채워져도 나머지는 자동으로 0 이 채워지기 때문이죠
이제 다음으로 넘어가겠습니다
저희가 변수를 만들다보면 이런 숫자나 단일문자 말고도 문자열이라는 값을 넣어주어야합니다
문자열은 어떻게 만들까요?
자료형에도 문자열을 저장하는 건 없었는데요
여기서 또 배열이 등장합니다
문자열과 그나마 제일 비슷한 자료형이 char 였습니다
char 는 단일문자를 저장하는 자료형이였죠
그러면 char 를 여러개 이어두면..?
문자열을 저장할 수 있겠네요!
아래와 같이 선언할 수 있습니다
char str[100]; |
이렇게 선언을 하면 char 가 100개, char는 1바이트였으니
총 100바이트의 문자열을 저장할 수 있습니다
우선 값을 넣기 전에 먼저 알고 가야할게 있습니다
영어, 숫자, 특수문자등 유니코드표에 있는것들은 1바이트
한글은 2바이트
문자열이 끝남을 알려주는 NULL 값 1바이트
즉 "ABC" 를 저장하면 4바이트
"가나다" 를 저장하면 7바이트
"가A나B" 를 저장하면 7바이트가 되는것이죠
이제 값을 넣어봐야죠
이것 역시 방법이 여러가지 있습니다
char str[100] = "가나다라마바사"; |
이렇게 하는 방법이 있고 선언 후에 대입하는 법은 strcpy 라는 함수와 scanf 로 넣어줄 수 있긴 하지만...
다음 강좌에 해보도록 하겠습니다!
강좌 읽어주셔서 감사합니다~!
공감과 댓글은 생선에게 힘이됩니다!
'프로그래밍 > C언어 강좌' 카테고리의 다른 글
C언어 강좌 7 - Main이 뭔가 다른 강좌랑 다르다? 함수의 반환값과 main의 기본형 (0) | 2017.03.09 |
---|---|
C언어 강좌 6 - 빌드에서 제외를 이용해 강좌를 쉽게 따라와보자! (0) | 2017.03.08 |
C언어 강좌 4 - 변수로 값을 저장하자! (자료형 데이터형) (0) | 2017.03.06 |
C언어 강좌 3 - 출력을 해보자! printf puts (2) | 2017.01.09 |
C언어 강좌 2 - 헤더파일이 무엇인가요? (10) | 2017.01.04 |