๐—ฃ๐—ฟ๐—ผ๐—ท๐—ฒ๐—ฐ๐˜ ๐—”๐—ฉ๐—ฆ

Project AVS Since 2023.01.27

๐Ÿ’ป ์†Œํ”„ํŠธ์›จ์–ด | Software/ํ”„๋กœ๊ทธ๋ž˜๋ฐ | C์–ธ์–ด | C

๋‚ด๊ฐ€ ๋ณด๋ ค๊ณ  ๋งŒ๋“œ๋Š” C์–ธ์–ด ์ •๋ณด ๋ชจ์Œ(์‹ฌํ™”) #๋ฐฐ์—ด #ํฌ์ธํ„ฐ

์•„๋ฒต AVS 2023. 5. 10. 10:39

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์ด ์ •ํ•ด์ง€์ง€ ์•Š์Œ)

 

 

 

๋ฐ˜์‘ํ˜•