โ 1. ๋ฐฐ์ด์ ๊ฐ๋
(1) ๋ฐฐ์ด(array) ์ด๋?
- ์ฌ๋ฌ ๊ฐ์ ๋์ผํ ์๋ฃํ์ ๊ฐ์ ์ฐ์์ ์ธ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ ์ฅํ๊ณ , ์ด๋ฅผ ํ๋์ ์ด๋ฆ์ผ๋ก ๊ด๋ฆฌํ ์ ์๋๋ก ๋ง๋ ๋ณ์์.
- ๊ฐ๊ฐ์ ๋ฐฐ์ด ์์๋ 0๋ฒ๋ถํฐ ์์ํด ์ฐจ๋ก๋ก ๋ถ์ฌ๋ ๋ฒํธ(์ธ๋ฑ์ค)๋ฅผ ์ด์ฉํ์ฌ ์ก์ธ์ค ํจ
- ๋ฐฐ์ด์ ์ฐจ์: ๋ฐฐ์ด์ ์์๊ฐ ๋์ด๋๋ ๊ตฌ์กฐ์ด๋ฉฐ, 1์ฐจ์, 2์ฐจ์, 3์ฐจ์ ... ๋ฑ์ด ์์.
- ์์ ๊ฐ์ด ์๋ฃ์ ์ต๋๊ฐ์ ๊ตฌํ๋ ์์๊ฐ ์๋ค๊ณ ๊ฐ์ ํ๋ฉด, ๋ณ์๋ง ๊ฐ์ง๊ณ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅ ํ ๊ฒฝ์ฐ ์ต๋๊ฐ์ ์ฐพ์ ๋ ์์ ๊ฐ์ด ํ๋์ฉ ์ ์ฒด๋ฅผ ๋น๊ตํด์ผ ํ๋ค. ์ด๋ฌํ ๊ณผ์ ์ ๋งค์ฐ ๋นํจ์จ์ ์. ๊ทธ๋์ ๋ฐฐ์ด์ ์ฌ์ฉํจ.
โ 2. 1์ฐจ์ ๋ฐฐ์ด
(1) 1์ฐจ์ ๋ฐฐ์ด - ์ ์ธ
- ์์ ๊ฐ์ด ๋์ผํ ์๋ฃํ์ ๋ฐฐ์ด๋ช ์ ํตํด ๋ ๋ฆฝ์ ์ผ๋ก ๊ฐ์๋ฅผ ์ง์ ํด ๋ฐฐ์ด์ ํฌ๊ธฐ๋ฅผ ์ง์ ํด์ ๋ง๋ค ์ ์์.
- int a[5]; ์ ์ธ์ ํ๊ฒ ๋๋ฉด, 5์นธ์ ๋ฐฐ์ด์ด ๋ง๋ค์ด์ง๋ฉฐ, ํ ์นธ์ ํฌ๊ธฐ๋ int 4byte ํฌ๊ธฐ๋ฅผ ๊ฐ์ง๋ ๋ฐฐ์ด์ด ๋ง๋ค์ด์ง๊ฒ ๋๋ค.
[ ๋ฌผ๋ฆฌ์ ์ธ ๊ธฐ์ต๊ณต๊ฐ ํํ ]
(2) 1์ฐจ์ ๋ฐฐ์ด - ์ด๊ธฐํ
#include <stdio.h>
int main() {
// 1. ์ ์ธ๊ณผ ๋์์ ๊ฐ ์ง์
int arr1[5] = {1, 2, 3, 4, 5};
// 2. ์ผ๋ถ๋ง ์ด๊ธฐํํ๋ฉด ๋๋จธ์ง๋ 0์ผ๋ก ์๋ ์ด๊ธฐํ
int arr2[5] = {1, 2}; // arr2 = {1, 2, 0, 0, 0}
// 3. ๋ชจ๋ ๊ฐ์ 0์ผ๋ก ์ด๊ธฐํ
int arr3[5]; // arr3 = {0, 0, 0, 0, 0}
// 4. ํฌ๊ธฐ ์๋ตํ๊ณ ์ด๊ธฐ๊ฐ์ผ๋ก๋ง ๋ฐฐ์ด ์ ์ธ
int arr4[] = {10, 20, 30}; // ํฌ๊ธฐ๋ 3์ผ๋ก ์๋ ์ค์
// 5. ์ ์ธ ํ ๊ฐ๊ฐ์ ์์์ ๊ฐ์ ์ ์ฅํ๋ ๋ฐฉ๋ฒ
int arr5[5];
array[0] = 1;
}
- ์์ ๊ฐ์ด, 1์ฐจ์ ๋ฐฐ์ด์ ์ด๊ธฐ๊ฐ์ ์ง์ ํ๋ ๋ฐฉ๋ฒ์ ์ฌ๋ฌ๊ฐ์ง๊ฐ ์กด์ฌํจ.
(3) 1์ฐจ์ ๋ฐฐ์ด - ์ฌ์ฉ ์์
- ๋ฐฐ์ด์ ์ ์ธ๊ณผ ๋์์ ์ธ๋ฑ์ค์ ๊ฐ์ ๊ฐ์ด ๋ฃ์ด ์ด๊ธฐํ๋ฅผ ํ ๊ฒฝ์ฐ์ด๋ค.
โ 3. ๋ค์ฐจ์ ๋ฐฐ์ด
(1) 2์ฐจ์ ๋ฐฐ์ด - ์ ์ธ
- ์ด์ ์: ํ ํ์ ๊ตฌ์ฑํ๋ 1์ฐจ์ ๋ฐฐ์ด์ ํฌ๊ธฐ๋ฅผ ์๋ฏธํจ.
- ํ์ ์: ์ด์ ์๋ก ์ง์ ํ ํฌ๊ธฐ์ 1์ฐจ์ ๋ฐฐ์ด์ ์๋ฅผ ์๋ฏธ ํ ์ ์์.
- ๋ฐฐ์ด์ ์ ์ฒด ํฌ๊ธฐ = ํ์ ์ x ์ด์ ์
[ ๋ ผ๋ฆฌ์ ์ธ ๊ธฐ์ต๊ณต๊ฐ ํํ ]
[ ๋ฌผ๋ฆฌ์ ์ธ ๊ธฐ์ต๊ณต๊ฐ ํํ ]
(2) 2์ฐจ์ ๋ฐฐ์ด - ์ด๊ธฐํ
#include <stdio.h>
int main() {
// 1. ํ ๋จ์๋ก ๊ฐ ์ง์
int arr1[2][3] = { {1, 2, 3}, {4, 5, 6} };
// 2. ์ผ๋ถ๋ง ์ด๊ธฐํ (๋๋จธ์ง๋ 0)
int arr2[2][3] = { {1}, {4, 5} };
// arr2 = { {1, 0, 0}, {4, 5, 0} }
// 3. 1์ฐจ์์ฒ๋ผ ํ ์ค๋ก ์ด๊ธฐํ
int arr3[2][3] = { 1, 2, 3, 4, 5, 6 };
// 4. ๋ชจ๋ ๊ฐ์ 0์ผ๋ก ์ด๊ธฐํ
int arr4[2][3];
// 5. ์ ์ธ ํ ๊ฐ ์์์ ๊ฐ ๋์
int arr5[2][3];
arr5[0][0] = 1; arr5[0][1] = 2; arr5[0][2] = 3;
arr5[1][0] = 4; arr5[1][1] = 5; arr5[1][2] = 6;
// 6. for๋ฌธ์ผ๋ก ๋ฐ๋ณต ์ด๊ธฐํ
int arr6[2][3];
for(int i=0; i<2; i++){
for(int j=0; j<3; j++){
arr6[i][j] = i*3 + j + 1; // 1~6 ๊ฐ ์ฑ์ฐ๊ธฐ
}
}
}
- ์์ ๊ฐ์ด, 2์ฐจ์ ๋ฐฐ์ด์ ์ด๊ธฐ๊ฐ์ ์ง์ ํ๋ ๋ฐฉ๋ฒ์ ์ฌ๋ฌ๊ฐ์ง๊ฐ ์กด์ฌํจ.
- ๋๋ถ๋ถ 1์ฐจ์ ๋ฐฐ์ด์ ์ด๊ธฐํ ๊ณผ์ ์ด๋ ๋๊ฐ๋ค๊ณ ๋ณด๋ฉด ๋จ.
(3) 3์ฐจ์ ๋ฐฐ์ด - ์ ์ธ
โ 4. charํ ๋ฐฐ์ด๊ณผ ๋ฌธ์์ด
- C ์ธ์ด์์๋ ๋ฌธ์์ด์ ๋ค์์ ๋ฌธ์ํ(char) ์๋ฃ๋ฅผ ์ ์ฅํ๋ ๋ฐฐ์ด๋ก ํํ์ ํจ.
(1) char ํ ๋ฐฐ์ด ์ ์ธ ํ์
- ๊ธฐ์กด์ ๋ฐฐ์ด์ ๋ง๋๋ ๋ฐฉ๋ฒ๊ณผ ๋์ผํ๋ฉฐ, str[12]; ๋ก ๋ฐฐ์ด์ ๋ง๋ค๋ฉด 12์นธ์ ์ฐ๋ ๊ธฐ๊ฐ์ด ๋ค์ด๊ฐ ํํ๋ก ์ด๊ธฐํ๊ฐ ๋จ.
- ๋ง์ฝ static char static_str[12]; ์ด๋ฌํ ํํ์ ์ ์ ๋ณ์๋ก ๋ง๋ค๋ฉด, '\0'์ผ๋ก ์ด๊ธฐํ๊ฐ ๋ณด์ฅ๋จ.
(2) char ๋ฐฐ์ด์ ์ด๊ธฐํ - ๋ฌธ์์ด ๋จ์ ์ด๊ธฐํ
(3) char ๋ฐฐ์ด์ ์ด๊ธฐํ - ๋ฌธ์ ๋จ์๋ก ์ด๊ธฐํ
(4) char ๋ฐฐ์ด์ ์ด๊ธฐํ ์ฃผ์ ์ฌํญ
- ๋ฌธ์์ด์ ์ ์ฅํ ์ ์๋ ํฌ๊ธฐ์ ๋ง๊ฒ ๋ฐฐ์ด์ ์ ์ธํ๊ณ ํฌ๊ธฐ์ ๋ง๊ฒ ๋ฐฐ์ด์ ๊ฐ์ ๋ฃ์ด์ผ ํจ.
(5) char ๋ฐฐ์ด์ ์ด์ฉํ ๋ฌธ์์ด ํ์ฉ ์์
- char ํ ๋ฐฐ์ด์ ์ ์ธํ ๋ค, ์ ๋ ฅ ๋ฐ์ ๋ฌธ์์ด์ ํด๋น ๋ฐฐ์ด์ ๋ฃ๊ณ ์ถ๋ ฅ ๋ํ ๋ฐ๋ณต๋ฌธ์ ํตํด ํด๋น ๋ฐฐ์ด์์ ๋ฝ์์ ์ถ๋ ฅํจ.
โ 5. ํจ์์ ๋ฐฐ์ด ์ธ์ ์ ๋ฌ
(1) ํจ์์ ๋ฐฐ์ด ์ธ์ ์ ๋ฌ ๋ฐฉ๋ฒ
- ํ์ ๋งค๊ฐ๋ณ์์์ int arr[] ์ ์ํ ๋ฐฐ์ด์ ๋ฐ์ ์ ์๋๋ก ๋งค๊ฐ๋ณ์ ์ ์ธ์ ํด์ค์ผ ํ๋ค.
- ๋ํ, ์ค ๋งค๊ฐ๋ณ์์์๋ ๊ฐ์ ์ ๋ฌ ํ ๋, ๋ฐฐ์ด์ ๋ฐฐ์ด๋ช (๋ณ์๋ช )์ ๋๊น์ผ๋ก์จ, ๋ฐฐ์ด์ ๋๊ธธ ์ ์์.
(2) ํจ์์ ๋ฐฐ์ด ์ธ์ ์ ๋ฌ ๋ฐฉ๋ฒ - ์ฐจ์์ ๋ฐ๋ฅธ ๋ถ๋ฅ
- ๋ฐฐ์ด์ ๊ท๊ฒฉ์ ์ ์ ์๋๋ก ๋งค๊ฐ๋ณ์๋ฅผ ์ ์ธํด์ผ ํ๋ค.
- ์ด์ ๊ฐ์ด ์ฒซ์งธ ์ฐจ์์ ๊ฐ์๋ ์ง์ ํ ํ์๋ ์์.
- ํ์ง๋ง, 2์ฐจ์, 3์ฐจ์์ผ๋ก ๋์ด๊ฐ ๊ฒฝ์ฐ ์ฒซ์งธ ์ฐจ์์ ์ ์ธํ ๋๋จธ์ง์ ๊ฐ์๋ ๋ง์ถ์ด์ผํจ.
- ์ด๋ ๊ฒ ํด์ผํ๋ ์ด์ ๋, 1์ฐจ์ ๋ฐฐ์ด์ ๊ฒฝ์ฐ ํจ์์ ๋๊ธธ ๋ ์๋์ผ๋ก ํฌ์ธํฐ๋ก ๋ณํ์ด ๋์ด์์.
- ์ฆ, ํจ์์ ํฌ์ธํฐ(์ฃผ์๊ฐ)๋ฅผ ๋๊น์ผ๋ก์จ ํด๋น ๋ฐฐ์ด์ด ์ด๋์๋ถํฐ ์์ํ๋์ง ์ ์ ์๊ฒ ๋จ.
- ๋ชจ๋ ์ฐจ์ ๋ฐฐ์ด์ ์์ ๊ฐ์ด ๋ฉ๋ชจ๋ฆฌ ๊ด์ ์์๋ ์ฐ์์ ์ผ๋ก ์ ์ฅ์ด ๋๋ค.
- ์ฆ, ๊ตณ์ด 2์ฐจ์ ๋ฐฐ์ด์ ๊ฐ์๋ฅผ ๋ฃ์ ํ์๊ฐ ์์ง์๋? ๋ผ๋ ์๋ฌธ์ ๊ฐ์ง ์ ์์.
- ํ์ง๋ง, ๋ฉ๋ชจ๋ฆฌ ๊ด์ ์์ ์ฐ์์ ์ผ๋ก ์ ์ฅ์ด ๋๊ธฐ ๋๋ฌธ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ ๊ฒ์.
- ์ด์ ๋ ์ฐ์์ ์ธ ์ ์ฅ๋๋ฌธ์ ์ด๋ ๋ถ๋ถ์ด ํ์ด๊ณ ์ด์ธ์ง ๊ตฌ๋ถํ๊ธฐ๊ฐ ์ด๋ ค์.
- ์ฆ, ๊ตฌ๋ถ์ ์ํด์ ํ์ด์ ํ์์ธ ๊ฐ์๋ฅผ ํ์ํด์ ๋ณด๋ด๋๊ฒ์.
- 1์ฐจ์ ๋ฐฐ์ด: ๊ทธ๋ฅ ๊ธธ์ญํ ์ค
- 2์ฐจ์ ๋ฐฐ์ด: ๊ธธ์ญํ ์ค์ด ์ฌ๋ฌ ๊ฐ ์๋๋ฐ, ๋ช ์นธ์ฉ ๋๋ ์ผ ํ๋์ง ์์์ผ ๊ฐ ์ค์ ์์์ ์ ์ฐพ์ ์ ์์
'๐ ๏ธBackend > โ๏ธC' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[C์ธ์ด] ํจ์์ ๊ธฐ์ต ํด๋์ค(2) (0) | 2025.10.15 |
---|---|
[C์ธ์ด] ํจ์์ ๊ธฐ์ต ํด๋์ค(1) (0) | 2025.10.15 |
[C์ธ์ด] ์ ํ ์ ์ด๋ฌธ๊ณผ ๋ฐ๋ณต ์ ์ด๋ฌธ (0) | 2025.10.13 |
[C์ธ์ด] ์ ์ถ๋ ฅ ํจ์์ ์ฐ์ฐ์(2) (0) | 2025.10.03 |
[C์ธ์ด] ์ ์ถ๋ ฅ ํจ์์ ์ฐ์ฐ์(1) (0) | 2025.09.05 |