-
배열에 문자 저장원리스터디/C언어 2023. 4. 20. 15:28
배열이란?
네이버 사전에서 뜻을 찾아보면
1. 일정한 차례나 간격에 따라 벌여 놓음.
2. 동일한 성격의 데이터를 관리하기 쉽도록 하나로 묶는 일. - 배열 변수를 선언하다.
배열은 동일한 사이즈의 자료를 하나의 이름으로 관리하는 것 이라고 생각된다.
배열 선언 방법
#include <stdio.h> int main() { char name1[5] = "jess"; char name2[] = {"abcd"}; char name3[] = "aabb"; printf("%s %s %s\n",name1, name2, name3); return 0; }
name1의 경우 미리 사이즈를 정해두고 그 크기 만큼 문자를 입력받았다.
name2의 경우 크기를 적지 않고 name2배열을 정의하였는데 이 방법 같은 경우에는 선언과 동시에 초기화를 해주어야 한다. name2와 name3의 경우 { } 의 차이만 있을뿐 다른 차이는 없다.
아래에 그림 같이 문자열 배열 같은 경우에는 배열의 마지막에 '\0', NULL이 들어간다.
그렇기 때문에 다른 int형 배열 float등과 달리 크기가 5인 배열이 문자를 4개만 입력 받을수 있다.
name1의 배열이 크기가 5인데 4개의 문자만 적은 이유가 궁금할 것 같아서 그림판에 그려보았다.
선언 후 배열 초기화
name1[0] = 'a'; name1[1] = 'b'; name1[2] = 'c'; name1[3] = 'd';
각 각 한개 씩 접근하여 문자를 초기화 해줄 수 있다. for문을 사용한다면 더 간편하게 초기화가 가능하다.
for문으로 abcd 초기화 해주는 방법
#include <stdio.h> int main() { char name1[5] = "jess"; int num = 97; for (int i = 0; i < 4; i++) { name1[i] = num++; } printf("%s\n", name1); return 0; }
위에 for문에서 i가 4인 이유는 name1배열의 index 4에 문자열의 마지막을 알려주는 '\0'가 들어있기 때문이다.
'스터디 > C언어' 카테고리의 다른 글
반복문에서 Continue (1) 2023.05.17 비트 연산자 (0) 2019.10.22 논리 연산자(&&, ||, !) (0) 2019.10.20 관계 연산자(<, >, ==, !=, <=, >=) (0) 2019.10.20 C언어의 다양한 연산자 소개 (0) 2019.10.20