๋ฐฐ์ด์ ๊ณ ์ ์๋ณ์์ ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ๋ณ์ ์ผ๋ก ์ฐธ์กฐํ ์ ์๋ ์ฐ์ ๋ฉ๋ชจ๋ฆฌ ์์น์ ๋ฐฐ์น๋ ๊ณต๊ฐ์ ์ ๊ทผ ํ ์ ์์ต๋๋ค.
์ผ์ผ์ด ๋ณ์๋ฅผ 5๊ฐ๋ฅผ ์ ์ธํ์ง ์๊ณ ๋ ๋ฐฐ์ด๋ก ํ๋ฒ์ 5๊ฐ๋ฅผ ์ ์ธํ ์ ์์ต๋๋ค. ๋์ ๋ฐฐ์ด์ ์ฌ์ฉํ์ฌ 5๊ฐ์ int๊ฐ์ด ์ธ์ ํ ๋ฉ๋ชจ๋ฆฌ ์์น์ ์ ์ฅ๋๊ณ 5๊ฐ์ ๊ฐ ๋ชจ๋ ์ ์ ํ ์ธ๋ฑ์ค์ ๋์ผํ ์๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ ์ก์ธ์คํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ํธ์ถ
๋ ์ ํ์ ์ ์ ๊ฐ 5๊ฐ๋ฅผ ํฌํจํ๋ ๋ฐฐ์ด ์ ๋ค์๊ณผ ๊ฐ์ด ๋ํ๋ผ ์ ์์ต๋๋ค. ์ฌ๊ธฐ์ ๊ฐ ๋น ํจ๋์ ๋ฐฐ์ด์ ์์๋ฅผ ๋ํ๋ ๋๋ค. ์ด ๊ฒฝ์ฐ ๋ค์ ์ ํ์ ๊ฐ์ ๋๋ค.
์ด๋ฌํ ์์๋ 0์์ 4๊น์ง ๋ฒํธ๊ฐ ๋งค๊ฒจ์ ธ ์์ผ๋ฉฐ, ์ฒซ ๋ฒ์งธ๋ 0์ด๊ณ ๋ง์ง๋ง์ 4์
๋๋ค. C++์์ ๋ฐฐ์ด์ ์ฒซ ๋ฒ์งธ ์์๋ ๊ธธ์ด์ ๊ด๊ณ์์ด ํญ์ 0(1์ด ์๋)์ผ๋ก ๋ฒํธ๊ฐ ๋งค๊ฒจ์ง๋๋ค.
์ผ๋ฐ ๋ณ์์ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ฐฐ์ด์ ์ฌ์ฉํ๊ธฐ ์ ์ ์ ์ธํด์ผ ํฉ๋๋ค. C++์์ ๋ฐฐ์ด์ ๋ํ ์ผ๋ฐ์ ์ธ ์ ์ธ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ์ฌ๊ธฐ์ ์ ์ ํจํ ์ ํ(์: , ...)์ด๊ณ ์ ํจํ ์๋ณ์์ด๊ณ ํ๋(ํญ์ ๋๊ดํธ๋ก ๋ฌถ์ )๋ ๋ค์๊ณผ ๊ฐ์ด ๋ฐฐ์ด์ ๊ธธ์ด๋ฅผ ์ง์ ํฉ๋๋ค. ์์์ ์. ๋ฐ๋ผ์ type ์ 5๊ฐ ์์๊ฐ ์๋ ๋ฐฐ์ด์ ๋ค์๊ณผ ๊ฐ์ด ์ ์ธํ ์ ์์ต๋๋ค.
type name [elements];
int foo [5];
int foo [5];
์ฐธ๊ณ : ๋ฐฐ์ด์ ํฌ๊ธฐ๋ ์์ ์ด์ด์ผ ํฉ๋๋ค. ๋ฐฐ์ด์ ํ๋ก๊ทธ๋จ์ด ์คํ๋๊ธฐ ์ ์ ์ปดํ์ผ ํ์์ ํฌ๊ธฐ๊ฐ ๊ฒฐ์ ๋์ด์ผ ํ๋ ์ ์ ๋ฉ๋ชจ๋ฆฌ ๋ธ๋ก์ด๊ธฐ ๋๋ฌธ์ ๋๋ค.
๋ฐฐ์ด์ ์ด๊ธฐํ
๊ธฐ๋ณธ์ ์ผ๋ก ๋ก์ปฌ ๋ฒ์ ์ ์ผ๋ฐ ๋ฐฐ์ด (์: ํจ์ ๋ด์์ ์ ์ธ๋ ๋ฐฐ์ด)์ ์ด๊ธฐํ๋์ง ์์ ์ํ๋ก ์ ์ง๋ฉ๋๋ค. ์ด๋ ํด๋น ์์ ์ค ์ด๋ ๊ฒ๋ ํน์ ๊ฐ์ผ๋ก ์ค์ ๋์ง ์์์์ ์๋ฏธํฉ๋๋ค. ๊ทธ ๋ด์ฉ์ ๋ฐฐ์ด์ด ์ ์ธ๋ ์์ ์์ ๊ฒฐ์ ๋์ง ์์ต๋๋ค.
๊ทธ๋ฌ๋ ๋ฐฐ์ด์ ์์๋ ์ ์ธ๋ ๋ ํด๋น ์ด๊ธฐ ๊ฐ์ ์ค๊ดํธ {}๋ก ๋ฌถ์ด ๋ช
์์ ์ผ๋ก ํน์ ๊ฐ์ผ๋ก ์ด๊ธฐํํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด:
int foo [5] = { 16, 2, 77, 40, 12071 };
์ด ๋ช ๋ น๋ฌธ์ ๋ค์๊ณผ ๊ฐ์ด ํํํ ์ ์๋ ๋ฐฐ์ด์ ์ ์ธํฉ๋๋ค.
์ค๊ดํธ ์ฌ์ด์ ๊ฐ {}์ ์๋ ๋ฐฐ์ด์ ์์ ์๋ณด๋ค ํฌ์ง ์์์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์์ ์์์ foo๋ 5๊ฐ์ ์์(๋๊ดํธ๋ก ๋ฌถ์ธ ์ซ์๋ก ์ง์ ๋จ)๋ก ์ ์ธ๋์๊ณ []์ค๊ดํธ {}์๋ ๊ฐ ์์์ ๋ํด ํ๋์ฉ ์ ํํ 5๊ฐ์ ๊ฐ์ด ํฌํจ๋์์ต๋๋ค. less๋ก ์ ์ธํ๋ฉด ๋๋จธ์ง ์์๋ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ค์ ๋ฉ๋๋ค(๊ธฐ๋ณธ ์ ํ์ ๊ฒฝ์ฐ 0์ผ๋ก ์ฑ์์ง). ์๋ฅผ ๋ค์ด:
int bar [5] = { 10, 20, 30 };
๋ค์๊ณผ ๊ฐ์ ๋ฐฐ์ด์ ์์ฑํฉ๋๋ค.
์ด๊ธฐํ ํ๋ก๊ทธ๋จ์๋ ๊ฐ์ด ์์ ์๋ ์๊ณ ์ค๊ดํธ๋ง ์์ ์๋ ์์ต๋๋ค.
int baz [5] = { };
int์ด๋ ๊ฒ ํ๋ฉด๊ฐ๊ฐ 0 ๊ฐ์ผ๋ก ์ด๊ธฐํ๋๋ 5๊ฐ์ ๊ฐ ๋ฐฐ์ด์ด ์์ฑ๋ฉ๋๋ค. ๋ฐฐ์ด์ ๊ฐ
์ด๊ธฐํ๊ฐ ์ ๊ณต๋๋ฉด C++์์๋ ๋๊ดํธ๋ฅผ ๋น์ ๋ ์ ์์ต๋๋ค []. ์ด ๊ฒฝ์ฐ ์ปดํ์ผ๋ฌ๋ ์ค๊ดํธ ์ฌ์ด์ ํฌํจ๋ ๊ฐ์ ์์ ์ผ์นํ๋ ๋ฐฐ์ด์ ํฌ๊ธฐ๋ฅผ ์๋์ผ๋ก ๊ฐ์ ํฉ๋๋ค {}.
int foo [] = { 16, 2, 77, 40, 12071 };
์ด ์ ์ธ ํ ๋ฐฐ์ด ์ 5๊ฐ์ ์ด๊ธฐํ ๊ฐ์ ์ ๊ณตํ๊ธฐ ๋๋ฌธ์ foo5๊ฐ์ ๊ธธ์ด๊ฐ ๋ฉ๋๋ค. ๋ง์ง๋ง์ผ๋ก C++์ ๋ฐ์ ์ผ๋ก ๋ฐฐ์ด์ ๋ํ ๋ฒ์ฉ ์ด๊ธฐํ ๋ ์ฑํ๋์์ต๋๋ค. ๋ฐ๋ผ์ ์ ์ธ๊ณผ ์ด๋์ ๋ผ์ด์ ์ฌ์ด์ ๋ ์ด์ ๋ฑํธ๊ฐ ํ์ํ์ง ์์ต๋๋ค. ์ด ๋ ๋ช ๋ น๋ฌธ์ ๋ชจ๋ ๋์ผํฉ๋๋ค.int
int foo[] = { 10, 20, 30 };
int foo[] { 10, 20, 30 };
์ ์ ๋ฐฐ์ด๊ณผ ๋ค์์คํ์ด์ค(ํจ์ ์ธ๋ถ)์์ ์ง์ ์ ์ธ๋ ๋ฐฐ์ด์ ํญ์ ์ด๊ธฐํ๋ฉ๋๋ค. ๋ช ์์ ์ด๋์ ๋ผ์ด์ ๋ฅผ ์ง์ ํ์ง ์์ผ๋ฉด ๋ชจ๋ ์์๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ์ด๊ธฐํ๋ฉ๋๋ค(๊ธฐ๋ณธ ์ ํ์ ๊ฒฝ์ฐ 0).
๋ฐฐ์ด์ ๊ฐ์ ์ ๊ทผํ๊ธฐ
๋ฐฐ์ด์ ์๋ ๋ชจ๋ ์์์ ๊ฐ์ ๋์ผํ ์ ํ์ ์ผ๋ฐ ๋ณ์ ๊ฐ์ฒ๋ผ ์ก์ธ์คํ ์ ์์ต๋๋ค. ๊ตฌ๋ฌธ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. 5๊ฐ์ ์์๊ฐ ์๊ณ ๊ฐ ์์๊ฐ ์ ํ ์ธ
name[index]
์ด์ ์์ ๋ฐ๋ผ ๊ฐ ์์๋ฅผ ์ฐธ์กฐํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ์ด๋ฆ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ์๋ฅผ ๋ค์ด, ๋ค์ ๋ช
๋ น๋ฌธ์ ์ธ ๋ฒ์งธ์ ๊ฐ 75๋ฅผ ์ ์ฅํฉ๋๋ค. ์์ :fooint
foo [2] = 75;
์๋ฅผ ๋ค์ด ๋ค์์ ์ ์ธ ๋ฒ์งธ ์์ ๊ฐ์ foo์ด๋ผ๋ ๋ณ์ ์ ๋ณต์ฌํฉ๋๋ค x.
x = foo[2];
๋ฐ๋ผ์ ํํ์ foo[2]์์ฒด๊ฐ type ์ ๋ณ์์
๋๋ค int.
์ ์ธ ๋ฒ์งธ ์์ foo๋ ์ง์ foo[2]๋๊ณ ์ฒซ ๋ฒ์งธ ์์๋ ์ด๋ฏ๋ก foo[0]๋ ๋ฒ์งธ ์์๋ ์ด๊ณ ์ธ ๋ฒ์งธ ์์ foo[1]๋ ์
๋๋ค foo[2]. ๊ฐ์ ์ด์ ๋ก ๋ง์ง๋ง ์์๋ foo[4]์
๋๋ค. ๋ฐ๋ผ์ ๋ฅผ ์์ฑํ๋ฉด foo[5]์ ์ฌ์ฏ ๋ฒ์งธ ์์์ ์ก์ธ์คํ๊ฒ foo๋๋ฏ๋ก ์ค์ ๋ก ๋ฐฐ์ด ํฌ๊ธฐ๋ฅผ ์ด๊ณผํ๊ฒ ๋ฉ๋๋ค.
C++์์๋ ๋ฐฐ์ด์ ๋ํ ์ ํจํ ์ธ๋ฑ์ค ๋ฒ์๋ฅผ ์ด๊ณผํ๋ ๊ฒ์ด ๊ตฌ๋ฌธ์ ์ ํํฉ๋๋ค. ๋ฒ์๋ฅผ ๋ฒ์ด๋ ์์์ ์ก์ธ์คํ๋ฉด ์ปดํ์ผ ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ง ์์ง๋ง ๋ฐํ์ ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ ์ ์์ผ๋ฏ๋ก ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. ์ด๊ฒ์ด ํ์ฉ๋๋ ์ด์ ๋ ํฌ์ธํฐ๊ฐ ๋์
๋๋ ์ดํ ์ฅ์์ ๋ณผ ์ ์์ต๋๋ค.
[]์ด ์์ ์์ ๋๊ดํธ ๊ฐ ๋ฐฐ์ด๊ณผ ๊ด๋ จ๋ ๋ ๊ฐ์ง ์ฉ๋๋ฅผ ๋ช
ํํ๊ฒ ๊ตฌ๋ถํ ์ ์๋ ๊ฒ์ด ์ค์ํฉ๋๋ค . ๊ทธ๋ค์ ๋ ๊ฐ์ง ๋ค๋ฅธ ์์
์ ์ํํฉ๋๋ค. ํ๋๋ ์ ์ธ๋ ๋ ๋ฐฐ์ด์ ํฌ๊ธฐ๋ฅผ ์ง์ ํ๋ ๊ฒ์
๋๋ค. ๋ ๋ฒ์งธ๋ ์ก์ธ์คํ ๋ ๊ตฌ์ฒด์ ์ธ ๋ฐฐ์ด ์์์ ๋ํ ์ธ๋ฑ์ค๋ฅผ ์ง์ ํ๋ ๊ฒ์
๋๋ค. []์ด ๋ ๊ฐ์ง ๊ฐ๋ฅํ ๋๊ดํธ ์ฌ์ฉ์ ๋ฐฐ์ด๊ณผ ํผ๋ํ์ง ๋ง์ญ์์ค .
int foo[5]; // declaration of a new array
foo[2] = 75; // access to an element of the array.
์ฃผ์ ์ฐจ์ด์ ์ ์ ์ธ ์์ ์์ ์ ํ์ด ์์ง๋ง ์ก์ธ์ค๋ ๊ทธ๋ ์ง ์๋ค๋ ๊ฒ์
๋๋ค.
๋ฐฐ์ด์ ๋ํ ๋ช ๊ฐ์ง ๋ค๋ฅธ ์ ํจํ ์์
:
foo[0] = a;
foo[a] = 75;
b = foo [a+2];
foo[foo[a]] = foo[2] + 5;
์๋ฅผ ๋ค์ด:
// arrays example
#include <iostream>
using namespace std;
int foo [] = {16, 2, 77, 40, 12071};
int n, result=0;
int main ()
{
for ( n=0 ; n<5 ; ++n )
{
result += foo[n];
}
cout << result;
return 0;
}
12206
๋ค์ฐจ์ ๋ฐฐ์ด
๋ค์ฐจ์ ๋ฐฐ์ด์ "๋ฐฐ์ด์ ๋ฐฐ์ด"๋ก ์ค๋ช ํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, 2์ฐจ์ ๋ฐฐ์ด์ ์์๋ก ๊ตฌ์ฑ๋ 2์ฐจ์ ํ ์ด๋ธ๋ก ์์ํ ์ ์์ผ๋ฉฐ ๋ชจ๋ ๋์ผํ ๋ฐ์ดํฐ์ ํ์ ๊ฐ์ต๋๋ค.
jimmytype ์ 5๊ฐ ์์๋น 3๊ฐ์ 2์ฐจ์ ๋ฐฐ์ด์ ๋ํ๋ ๋๋ค int. ์ด์ ๋ํ C++ ๊ตฌ๋ฌธ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
int jimmy [3][5];
์๋ฅผ ๋ค์ด ํํ์์์ ๋ ๋ฒ์งธ ์์๋ฅผ ์ธ๋ก๋ก, ๋ค ๋ฒ์งธ ์์๋ฅผ ๊ฐ๋ก๋ก ์ฐธ์กฐํ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
jimmy[1][3]
(๋ฐฐ์ด ์ธ๋ฑ์ค๋ ํญ์ 0์ผ๋ก ์์ํ๋ค๋ ๊ฒ์ ๊ธฐ์ตํ์ญ์์ค)
๋ค์ฐจ์ ๋ฐฐ์ด์ 2๊ฐ์ ์ธ๋ฑ์ค(์ฆ, 2์ฐจ์)๋ก ์ ํ๋์ง ์์ต๋๋ค. ํ์ํ ๋งํผ ์ธ๋ฑ์ค๋ฅผ ํฌํจํ ์ ์์ต๋๋ค. ์ฃผ์: ๋ฐฐ์ด์ ํ์ํ ๋ฉ๋ชจ๋ฆฌ ์์ด ๊ฐ ์ฐจ์์ ๋ฐ๋ผ ๊ธฐํ๊ธ์์ ์ผ๋ก ์ฆ๊ฐํฉ๋๋ค. ์๋ฅผ ๋ค์ด:
char century [100][365][24][60][60];
char์ธ๊ธฐ์ ๊ฐ ์ด์ ๋ํ ์ ํ์ ์์๊ฐ ์๋ ๋ฐฐ์ด์ ์ ์ธํฉ๋๋ค . ์ด๊ฒ์ 30 ์ต ์ด์์ ํด๋นํฉ๋๋ค char! ๋ฐ๋ผ์ ์ด ์ ์ธ์ 3GB ์ด์์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์๋นํฉ๋๋ค!
๊ฒฐ๊ตญ ๋ค์ฐจ์ ๋ฐฐ์ด์ ์ธ๋ฑ์ค๋ฅผ ๊ณฑํ์ฌ ๊ฐ๋จํ ๋ฐฐ์ด๋ก ๋์ผํ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์๊ธฐ ๋๋ฌธ์ ํ๋ก๊ทธ๋๋จธ๋ฅผ ์ํ ์ถ์ํ์ผ ๋ฟ์
๋๋ค.
int jimmy [3][5]; // is equivalent to
int jimmy [15]; // (3 * 5 = 15)
๋ค์ฐจ์ ๋ฐฐ์ด์ ์ ์ผํ ์ฐจ์ด์ ์ ์ปดํ์ผ๋ฌ๊ฐ ๊ฐ ๊ฐ์ ์ฐจ์์ ๊น์ด๋ฅผ ์๋์ผ๋ก ๊ธฐ์ตํ๋ค๋ ๊ฒ์ ๋๋ค. ๋ค์ ๋ ์ฝ๋ ์กฐ๊ฐ์ ์ ํํ ๋์ผํ ๊ฒฐ๊ณผ๋ฅผ ์์ฑํ์ง๋ง ํ๋๋ 2์ฐจ์ ๋ฐฐ์ด์ ์ฌ์ฉํ๊ณ ๋ค๋ฅธ ํ๋๋ ๋จ์ ๋ฐฐ์ด์ ์ฌ์ฉํฉ๋๋ค.
multidimensional array
#define WIDTH 5
#define HEIGHT 3
int jimmy [HEIGHT][WIDTH];
int n,m;
int main ()
{
for (n=0; n<HEIGHT; n++)
for (m=0; m<WIDTH; m++)
{
jimmy[n][m]=(n+1)*(m+1);
}
}
pseudo-multidimensional array
#define WIDTH 5
#define HEIGHT 3
int jimmy [HEIGHT * WIDTH];
int n,m;
int main ()
{
for (n=0; n<HEIGHT; n++)
for (m=0; m<WIDTH; m++)
{
jimmy[n*WIDTH+m]=(n+1)*(m+1);
}
}
์์ ๋ ์ฝ๋ ์กฐ๊ฐ ์ค ์ด๋ ๊ฒ๋ ํ๋ฉด์ ์ถ๋ ฅ์ ์์ฑํ์ง ์์ง๋ง ๋ ๋ค ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก jimmy๋ผ๋ ๋ฉ๋ชจ๋ฆฌ ๋ธ๋ก์ ๊ฐ์ ํ ๋นํฉ๋๋ค
. ์ฝ๋๋ ์ซ์ ๊ฐ์ ์ง์ ์ฌ์ฉํ๋ ๋์ ๋๋น์ ๋์ด์ ๋ํด ์ ์๋ ์์๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์ฝ๋ ๊ฐ๋ ์ฑ์ด ํฅ์๋๊ณ ํ ๊ณณ์์ ์ฝ๋๋ฅผ ์ฝ๊ฒ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
๋งค๊ฐ๋ณ์๋ก์์ ๋ฐฐ์ด
์ด๋ค ์์ ์์ ๋ฐฐ์ด์ ๋งค๊ฐ๋ณ์๋ก ํจ์์ ์ ๋ฌํด์ผ ํ ์๋ ์์ต๋๋ค. C++์์๋ ๋ฐฐ์ด์ด ๋ํ๋ด๋ ์ ์ฒด ๋ฉ๋ชจ๋ฆฌ ๋ธ๋ก์ ํจ์์ ์ธ์๋ก ์ง์ ์ ๋ฌํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋์ ์ ๋ฌํ ์ ์๋ ๊ฒ์ ์ฃผ์์
๋๋ค. ์ค์ ๋ก ์ด๊ฒ์ ๊ฑฐ์ ๋์ผํ ํจ๊ณผ๋ฅผ ๊ฐ์ง๋ฉฐ ํจ์ฌ ๋น ๋ฅด๊ณ ํจ์จ์ ์ธ ์์
์
๋๋ค.
๋ฐฐ์ด์ ํจ์์ ๋งค๊ฐ๋ณ์๋ก ๋ฐ์๋ค์ด๊ธฐ ์ํด ๋งค๊ฐ๋ณ์๋ฅผ ๋ฐฐ์ด ์ ํ์ผ๋ก ์ ์ธํ ์ ์์ง๋ง ๋ฐฐ์ด์ ์ค์ ํฌ๊ธฐ๋ฅผ ์๋ตํ๋ ๋น ๋๊ดํธ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์๋ฅผ ๋ค์ด:
void procedure (int arg[])
์ด ํจ์๋ "array of int"๋ผ๋ ์ ํ์ ๋งค๊ฐ๋ณ์๋ฅผ ๋ฐ์ต๋๋ค arg. ์ด ํจ์์ ์ ๋ฌํ๊ธฐ ์ํด ๋ค์๊ณผ ๊ฐ์ด ์ ์ธ๋ ๋ฐฐ์ด:
int myarray [40];
๋ค์๊ณผ ๊ฐ์ ํธ์ถ์ ์์ฑํ๋ ๊ฒ์ผ๋ก ์ถฉ๋ถํฉ๋๋ค.
procedure (myarray);
// arrays as parameters
#include <iostream>
using namespace std;
void printarray (int arg[], int length) {
for (int n=0; n<length; ++n)
cout << arg[n] << ' ';
cout << '\n';
}
int main ()
{
int firstarray[] = {5, 10, 15};
int secondarray[] = {2, 4, 6, 8, 10};
printarray (firstarray,3);
printarray (secondarray,5);
}
5 10 15
2 4 6 8 10
์์ ์ฝ๋์์ ์ฒซ ๋ฒ์งธ ๋งค๊ฐ๋ณ์( )๋ ๊ธธ์ด์ ๊ด๊ณ์์ด int arg[]์์๊ฐ ์ ํ์ธ ๋ชจ๋ ๋ฐฐ์ด์ ํ์ฉํฉ๋๋ค . int์ด๋ฌํ ์ด์ ๋ก ์ฒซ ๋ฒ์งธ ๋งค๊ฐ๋ณ์๋ก ์ ๋ฌํ๋ ๊ฐ ๋ฐฐ์ด์ ๊ธธ์ด๋ฅผ ํจ์์ ์๋ ค์ฃผ๋ ๋ ๋ฒ์งธ ๋งค๊ฐ๋ณ์๋ฅผ ํฌํจํ์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๋ฐฐ์ด์ ์ถ๋ ฅํ๋ for ๋ฃจํ๊ฐ ๋ฒ์๋ฅผ ๋ฒ์ด๋์ง ์๊ณ ์ ๋ฌ๋ ๋ฐฐ์ด์์ ๋ฐ๋ณตํ ๋ฒ์๋ฅผ ์ ์ ์์ต๋๋ค.
ํจ์ ์ ์ธ์์ ๋ค์ฐจ์ ๋ฐฐ์ด์ ํฌํจํ๋ ๊ฒ๋ ๊ฐ๋ฅํฉ๋๋ค. 3์ฐจ์ ๋ฐฐ์ด ๋งค๊ฐ๋ณ์์ ํ์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
base_type[][depth][depth]
์๋ฅผ ๋ค์ด, ๋ค์ฐจ์ ๋ฐฐ์ด์ ์ธ์๋ก ์ฌ์ฉํ๋ ํจ์๋ ๋ค์๊ณผ ๊ฐ์ ์ ์์ต๋๋ค.
void procedure (int myarray[][3][4])
์ฒซ ๋ฒ์งธ ๋๊ดํธ []๋ ๋น์ด ์๋ ๋ฐ๋ฉด ๋ค์ ๋๊ดํธ๋ ํด๋น ์น์์ ํฌ๊ธฐ๋ฅผ ์ง์ ํฉ๋๋ค. ์ด๊ฒ์ ์ปดํ์ผ๋ฌ๊ฐ ๊ฐ ์ถ๊ฐ ์ฐจ์์ ๊น์ด๋ฅผ ๊ฒฐ์ ํ ์ ์๋๋ก ํ๋ ๋ฐ ํ์ํฉ๋๋ค.
์ด๋ค ๋ฉด์์ ๋ฐฐ์ด์ ์ธ์๋ก ์ ๋ฌํ๋ฉด ํญ์ ์ฐจ์์ด ์์ค๋ฉ๋๋ค. ๊ทธ ์ด์ ๋ ์ญ์ฌ์ ์ด์ ๋ก ๋ฐฐ์ด์ ์ง์ ๋ณต์ฌํ ์ ์๊ธฐ ๋๋ฌธ์ ์ค์ ๋ก ์ ๋ฌ๋๋ ๊ฒ์ ํฌ์ธํฐ์
๋๋ค. ์ด๊ฒ์ ์ด๋ณด ํ๋ก๊ทธ๋๋จธ์๊ฒ ์ผ๋ฐ์ ์ธ ์ค๋ฅ ์์ค์
๋๋ค. ํฌ์ธํฐ์ ๋ํ ๋ช
ํํ ์ดํด๋ ๋ค์ ์ฅ์์ ์ค๋ช
ํ๊ฒ ์ง๋ง ๋ง์ ๋์์ด ๋ฉ๋๋ค.
๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฐฐ์ด
์์์ ์ค๋ช
ํ ๋ฐฐ์ด์ C ์ธ์ด์์ ์์๋ ์ธ์ด ๊ธฐ๋ฅ์ผ๋ก ์ง์ ๊ตฌํ๋ฉ๋๋ค. ๊ทธ๊ฒ๋ค์ ํ๋ฅญํ ๊ธฐ๋ฅ์ด์ง๋ง ๋ณต์ฌ๋ณธ์ ์ ํํ๊ณ ํฌ์ธํฐ๋ก ์ฝ๊ฒ ๋ถ๊ดด๋๊ธฐ ๋๋ฌธ์ ๊ณผ๋ํ ์ต์ ํ๋ก ์ธํด ์ด๋ ค์์ ๊ฒช์ ์ ์์ต๋๋ค.
์ธ์ด ๋ด์ฅ ๋ฐฐ์ด๊ณผ ๊ด๋ จ๋ ์ด๋ฌํ ๋ฌธ์ ์ค ์ผ๋ถ๋ฅผ ๊ทน๋ณตํ๊ธฐ ์ํด C++๋ ํ์ค ์ปจํ
์ด๋๋ก ๋์ฒด ๋ฐฐ์ด ์ ํ์ ์ ๊ณตํฉ๋๋ค. header ์ ์ ์๋ ์ ํ ํ
ํ๋ฆฟ(์ค์ ๋ก๋ ํด๋์ค ํ
ํ๋ฆฟ) <array>์
๋๋ค.
์ปจํ
์ด๋๋ ์ด ์์ต์์ ๋ฒ์๋ฅผ ๋ฒ์ด๋๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ธฐ๋ฅ์ด๋ฏ๋ก ์ฌ๊ธฐ์์ ํด๋์ค์ ๋ํด ์์ธํ ์ค๋ช
ํ์ง ์์ต๋๋ค. ๊ทธ๊ฒ๋ค์ ๋ณต์ฌ(๋ฉ๋ชจ๋ฆฌ์ ์ ์ฒด ๋ธ๋ก์ ๋ณต์ฌํ๋ฏ๋ก ์ฃผ์ํด์ ์ฌ์ฉํด์ผ ํ๋ ์ค์ ๋ก ๋น์ฉ์ด ๋ง์ด ๋๋ ์์
)๋ฅผ ํ์ฉํ๊ณ ๋ช
์์ ์ผ๋ก (ํ์์ ํตํด) ๊ทธ๋ ๊ฒ ํ๋๋ก ์ง์๋ฐ์์ต๋๋ค data.
์๋ฅผ ๋ค์ด, ๋ค์์ ์ด ์ฅ์์ ์ค๋ช
ํ๋ ์ธ์ด ๋ด์ฅ ๋ฐฐ์ด๊ณผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ปจํ
์ด๋๋ฅผ ์ฌ์ฉํ๋ ๋์ผํ ์์ ์ ๋ ๊ฐ์ง ๋ฒ์ ์
๋๋ค.
basic array
#include <iostream>
using namespace std;
int main()
{
int myarray[3] = {10,20,30};
for (int i=0; i<3; ++i)
++myarray[i];
for (int elem : myarray)
cout << elem << '\n';
}
STL array
#include <iostream>
#include <array>
using namespace std;
int main()
{
array<int,3> myarray {10,20,30};
for (int i=0; i<myarray.size(); ++i)
++myarray[i];
for (int elem : myarray)
cout << elem << '\n';
}
๋ณด์๋ค์ํผ ๋ ์ข ๋ฅ์ ๋ฐฐ์ด์ ๋์ผํ ๊ตฌ๋ฌธ์ ์ฌ์ฉํ์ฌ ์์์ ์ก์ธ์คํฉ๋๋ค myarray[i]. ๊ทธ ์ธ์ ์ฃผ์ ์ฐจ์ด์ ์ ๋ฐฐ์ด ์ ์ธ๊ณผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฐฐ์ด ์ ๋ํ ์ถ๊ฐ ํค๋ ํฌํจ์ ์์ต๋๋ค. ๋ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฐฐ์ด ์ ํฌ๊ธฐ์ ์ก์ธ์คํ๋ ๊ฒ์ด ์ผ๋ง๋ ์ฌ์ด์ง ์ฃผ๋ชฉํ์ญ์์ค .
'๐ Development Study > ๐จ๐พโ๐ป C++' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๊ตฌ์กฐ์ฒด (0) | 2022.08.19 |
---|---|
๋์ ๋ฉ๋ชจ๋ฆฌ (0) | 2022.08.19 |
ํฌ์ธํฐ (0) | 2022.08.19 |
๋ฌธ์์ด (0) | 2022.08.19 |
namespace (0) | 2022.08.18 |
๋๊ธ