만약 num1에 1을, num2에 2를, num3에 3을,,,,,num100에 100을 저장하고 싶다면 어떻게 해야 할까?
int num1 = 1;
int num2 = 2;
int num3 = 3;
.
.
.
int num100 = 100;
위와 같이 일일이 값을 대입해줄 수도 있겠지만, 저렇게 코드를 짜면 가독성이 떨어지며, 시간이 오래 걸린다. 따라서 배열이라는 것을 사용한다. 100줄이나 되는 코드를 아래와 같이 훨씬 짧게 만들 수 있다.
int num[100];//100개의 공간이 있는 배열 선언
for( int i = 0; i < 100; i++ ){//배열은 num[0], num[1],,,,num[99]의 형태로 100개 존재
num[i] = i+1;
}
하지만 num배열의 크기를 수정해야될 때, for문 안에 i < 100도 같이 수정해줘야 되는 게 불편할 수 있다. 따라서 i <100을
i < sizeof(num) / sizeof(num[0]) 으로 바꿔준다.
여기서 sizeof(num)은 num배열의 크기(100) * int의 크기(4byte)를 의미하며, sizeof(num [0])은 int의 크기(4byte)를 의미하는 것이다.
배열에 값을 저장할 때, 다른 방법을 이용할 수 있다.
int n[3] = {1, 2, 3};
char arr1[6] = { 'a', 'p', 'p', 'l', 'e'};
//null문자를 넣을 공간이 필요하기 때문에 배열의 크기 = 저장할 문자의 개수 + 1
char arr2[] = { 'a', 'p', 'p', 'l', 'e', '\0'};
//배열의 크기를 정해주지 않을거라면 따로 마지막에 null문자('\0')을 저장해줘야함| #10. C_함수 (0) | 2022.07.15 |
|---|---|
| #09. C_포인터 (0) | 2022.07.11 |
| #07. C_반복문(for, while) (0) | 2022.07.07 |
| #06. C_증감연산자 (1) | 2022.07.06 |
| #05. C_제어문 (switch문) (0) | 2022.07.02 |