CTRL + F ๋ก ํค์๋ ๊ฒ์
๋ณธ ๊ธ์ ํ์๊ฐ C์ธ์ด๋ฅผ ๊ณต๋ถํ๋ฉด์ ์ฐ๋ ์ผ์ข ์ ์ ์ฅ ๋ ธํธ์ ๋๋ค.
ํ์๋ ๋ฐฐ์ฐ๋ ์ ์ฅ์ผ๋ก
ํ์ํ์ ๋ถ ๋ค์ ์ ์ ํ ์ฌ์ฉํ๋ฉด ์ข์ ๋ฏ ํ๋ค.
๋น์ฃผ๊ธฐ์ ์ ๋ฐ์ดํธ ์์
โ 2์ฐจ์ ๋ฐฐ์ด
โป int arr[์ธ๋ก๊ธธ์ด][๊ฐ๋ก๊ธธ์ด]
ex) int arr[2][3]
โป 2์ฐจ์ ๋ฐฐ์ด ์ด๊ธฐํ ๋ฐฉ๋ฒ
int main(void)
{
int arr[4][4] = {
{1,2,3,4},
{5,6,7,8},
{0},
{1}
};
โป ํ ๋จ์๋ก ์ด๊ธฐํ ํด์ผํจ
โป ๋๋จธ์ง๋ 0์ผ๋ก ์ด๊ธฐํ
int main(void)
{
int arr[4][4] = {
1,2,3,4,
5,6,7,
};
โป 1์ด1ํ๋ถํฐ ์ด๊ธฐํ
โป ๊ธธ์ด ์๋ต ์ ์ธ ๊ฐ๋ฅ
ex) int avs[ ] [4] = {0,1,2,3,4,5}
๋จ ์ธ๋ก ๊ธธ์ด๋ ์๋ต ๋ถ๊ฐ
โ ๋๋ธ,ํธ๋ฆฌํ ํฌ์ธํฐ
โป ํฌ์ธํฐ ๋ณ์๋ฅผ ๊ฐ๋ฆฌํค๋ ํฌ์ธํฐ๋ฅผ ๋๋ธ ํฌ์ธํฐ๋ผ ์นญํ๋ค.
โป ***๊ฐ 3๊ฐ ํฌํจ์ด๋ฉด ๋น์ฐํ ์ผ์ค ํฌ์ธํฐ ๋ณ์
โ ๋ฐฐ์ด์ ํฌ์ธํฐ ํ
int * arr1[20] // ๊ธธ์ด๊ฐ 20์ธ intํ ํฌ์ธํฐ ๋ฐฐ์ด
int arr[20] // arr์ intํ ํฌ์ธํฐ
โ 2์ฐจ์ ๋ฐฐ์ด์ด๋ฆ ํฌ์ธํฐ
2์ฐจ์ ๋ฐฐ์ด์ ์ด๋ฆ์ ๋๋ธ ํฌ์ธํฐ ํ์ด ์๋๋ค.
2์ฐจ์ ๋ฐฐ์ด์์ ๋ง์ฝint array[2][4] ์ ๊ฐ์ด ์์ผ๋ฉดarray๋ ์ฒซ ๋ฒ์งธ ์์๋ฅผ ๊ฐ๋ฅดํค๋ ๋์์ ๋ฐฐ์ด ์ ์ฒด๋ฅผ ์๋ฏธarray[0]๋ ์ฒซ ๋ฒ์งธ ์์๋ฅผ ๊ฐ๋ฅดํค๋ ๋์์ 1ํ๋ง์ ์๋ฏธ์ฐจ์ด์ ์ ๊ผญ ์์งํ์.
2์ฐจ์ ๋ฐฐ์ด์์์ ํฌ์ธํฐ ํ์ ๋ฐฐ์ด์ ๊ฐ๋ก ๊ธธ์ด์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ค.int ar[2][3]ar, ar+1 ์ ์ฐจ์ด๋ ์ฃผ์ ๊ฐ ์ฐจ์ด๋ 12int arar[3][2] arar,arar+1 ์ ์ฃผ์ ๊ฐ ์ฐจ์ด๋ 8
int (*ptr) [5]์ ์๋ฏธptr : ํฌ์ธํฐ ๋ณ์int : intํ5 : ํ ๋ฒ์ 5์นธ์ฉ ๊ฑด๋๋
int * qwe[4]; // ํฌ์ธํฐ ๋ฐฐ์ด -> intํ ํฌ์ธํฐ ๋ณ์๋ค๋ก ์ด๋ฃจ์ด์ง ํฌ์ธํฐ ๋ฐฐ์ด
int (*qwe1) [4]; ๋ฐฐ์ด ํฌ์ธํฐ -> ๊ฐ๋ก๊ธธ์ด๊ฐ 4์ธ 2์ฐจ์ ๋ฐฐ์ด์ ๊ฐ๋ฆฌํค๋ ์ฉ๋์ ํฌ์ธํฐ ๋ณ์
ํจ์์ธ์๋ก์ ์ ๋ฌ
#include <stdio.h>
void Func(int parr[][4], int parr_2[][5])
{
printf("test \n")
}
int main(void)
{
int arr[2][4];
double arr2[4][5];
Func(arr, arr2);
return 0;
}
int (*parr)[4]
int parr[][4]
ํ๋ผ๋ฏธํฐ ์ ์ธ์์ ๋ ํํ์ ๋์ผ ์๋ฏธ
arr[2][1]=4; = (*(arr+2))[1]=4;
1๋ฒ์งธ์ arr[2]๋ฅผ A๋ก ์นํ
A[1]=4;
*(A+1)=4;
*(arr[2]+1)=4;
์ฌ๊ธฐ์ arr[2] = *(arr+2)
*(*(arr+2)+1) =4; ๋ผ๋ ์์ด ๋์จ๋ค.
โ ํจ์ ํฌ์ธํฐ
๋ฐฐ์ด์ ์ด๋ฆ์ ๋ฐฐ์ด์ ์์์ฃผ์ ๊ฐ์ ์๋ฏธ
ํจ์์ ์ด๋ฆ๋ ํจ์๊ฐ ์ ์ฅ๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ฃผ์ ๊ฐ์ ์๋ฏธ (์์ ํํ)
ํจ์ ํฌ์ธํฐ ๋ณ์ : ํจ์์ ์ฃผ์ ๊ฐ์ ์ ์ฅํ๊ธฐ ์ํ ํฌ์ธํฐ ๋ณ์
int Func (int num)
๋ฐํํ : int
ํ๋ผ๋ฏธํฐ ์ ์ธ : int num
Func : ํจ์์ ์ฃผ์ ๊ฐ์ ์๋ฏธํ๋ ์์ํํ์ ํจ์ ํฌ์ธํฐ
ํจ์์ด๋ฆ์ ํฌ์ธํฐ ํ์ ๋ฐํํ๊ณผ ํ๋ผ๋ฏธํฐ์ ์ ์ธ์ ํตํด์ ๊ฒฐ์
ํจ์ ํฌ์ธํฐ ๋ณ์ ์ ์ธ ๋ฐฉ๋ฒ
int (*FUNC) (int)
๋ฐํํ , ํฌ์ธํฐ , ๋งค๊ฐ๋ณ์ ์ ์ธ
์์ผ๋ก ๊ตฌ๋ถ
โ void
voidํ ํฌ์ธํฐ ๋ณ์๋ ๋ฌด์์ด๋ ์ง ๋ด์ ์ ์๋ค
ใดํฌ์ธํฐ ์ฐ์ฐ ๋ถ๊ฐ / ๊ฐ์ ๋ณ๊ฒฝ๊ณผ ์ฐธ์กฐ๋ ๋ถ๊ฐ๋ฅ ํ๋ค. (type์ด ์ ํด์ง์ง ์์)