๊น์ ์
ํ์ธ๋ํ๊ต 22ํ๋ฒ ์ปดํจํฐ๊ณตํ๊ณผ
ํ์ธ๋ํ๊ต 22ํ๋ฒ ์ปดํจํฐ๊ณตํ๊ณผ
๋น์ถํ๊ทธ: ๋ฐฐ์ด, ํฌ์ธํฐ, ํฌ์ธํฐ ์ฐ์ฐ
<์๋ฃ๋ช
> <๋ฐฐ์ด๋ช
>[<ํฌ๊ธฐ>];์์:
int ar1[4] = {2,4,5,3};
int ar2[4] = {0,0,0,0};
int ar3[4] = {0}; // ์ ์ฒด 0์ผ๋ก ์ด๊ธฐํ
int arr[2][3] = {1,2,3,4,5,6}; // 1,2,3์ด 1ํ, 4,5,6์ด 2ํ
int arr[2][3] = {{ 1,2 }, { 4,5 }}; // 1,2๊ฐ 1ํ 4,5๊ฐ 2ํ
<struct> <๊ตฌ์กฐ์ฒด ํ์
๋ช
> { <๋ณ์์ ์ธ> [, ...]};<๊ตฌ์กฐ์ฒด ๋ณ์๋ช
>.<๋ด๋ถ ๋ณ์๋ช
>์ผ๋ก ๋ถ๋ฌ์ด&: ์ฃผ์๊ฐ ๋์ถ*: ํด๋น์์น๋ก ์ ๊ทผ<์ฐธ์กฐํ ์๋ฃํ> *<๋ณ์๋ช
>;์์:
int data = 10;
int *p;
p = &data;
*p = 20;
printf("%d %d", data, *p);
์์:
void fa(int x, int *y) // ์ฐธ์กฐ๊ฐ์ ์ ๋ฌ๋ฐ๋ ๋ณ์๋ ํฌ์ธํฐ ๋ณ์๋ก ์ ์ธ
// n๊ณผ x๋ ๋
๋ฆฝ์ . k์ *y๋ ๊ฐ์
{
x = x + 5;
*y = *y + 5; // y๊ฐ ๊ฐ๋ฆฌํค๋ ๋ณ์ k๊ฐ 5์ฆ๊ฐ
return;
}
int main()
{
int n = 10, k = 20;
fa(n, &k); // n์ ๊ฐ ๋ณต์ฌ ์ ๋ฌ, k๋ ์ฐธ์กฐ๊ฐ ์ ๋ฌ
printf("%d %d", n, k);
return 0;
}
// ๊ฒฐ๊ณผ: 10 25
์์:
int ar[5] = {1,2,3,4,5};
int *p = ar; // ํฌ์ธํฐ ๋ณ์ p์ ๋ฐฐ์ด ar ์ฃผ์๊ฐ ํ ๋น
printf("%d\n", p[2]);
printf("%d\n", *(p+2)); // p[2]์ ๊ฐ์
printf("%d\n", *(ar+2)); // *(p+2)์ ๊ฐ์
<์ฐธ์กฐํ ์๋ฃํ> (*<๋ณ์๋ช
>)[<2์ฐจ์ ๋ฐฐ์ด ํฌ๊ธฐ>];์์:
int arr[2][3] = {1,2,3,4,5,6};
int (*p)[3] = arr; // p์ 2์ฐจ์ ๋ฐฐ์ด์ฃผ์๊ฐ ํ ๋น
printf("%d, ", *(p[1]+2)); // p[1][2] ์์น
printf("%d", *(*(p+1)+0)); // p[1][0] ์์น
// ๊ฒฐ๊ณผ: 6 4