C์–ธ์–ด

[C์–ธ์–ด] ๋ฐฐ์—ดํ˜•์˜ ์ธ์ž๋Š” ํฌ์ธํ„ฐํ˜•์œผ๋กœ ๋ฐ›๋Š”๋‹ค.

hyonie 2024. 12. 31. 21:22

๋ฐฐ์—ด์„ ํ•จ์ˆ˜์˜ ์ธ์ž๋กœ ์ „๋‹ฌํ•˜๋Š” ์›๋ฆฌ์™€ ํ•จ์ˆ˜ ํ˜ธ์ถœ ์‹œ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ๋ณ€ํ™”๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ์‚ดํŽด๋ณด๊ณ , ๋ฐฐ์—ด๊ณผ ํฌ์ธํ„ฐ์˜ ๊ด€๊ณ„๋ฅผ ๋ณด๋‹ค ์‰ฝ๊ฒŒ ์ดํ•ดํ• ์ˆ˜ ์žˆ๋„๋ก ์ •๋ฆฌํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค.

 


๋ฐฐ์—ด์„ ํ•จ์ˆ˜์˜ ์ธ์ž๋กœ ์ „๋‹ฌํ•˜๊ธฐ

C์–ธ์–ด์—์„œ ๋ฐฐ์—ด์„ ํ•จ์ˆ˜์˜ ์ „๋‹ฌ์ธ์ž๋กœ ์‚ฌ์šฉํ•  ๋•Œ, ๋ฐฐ์—ด ์ž์ฒด๊ฐ€ ์•„๋‹Œ ๋ฐฐ์—ด์˜ ์ฃผ์†Œ๊ฐ’์„ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ, ํ•จ์ˆ˜์—์„œ ๋ฐฐ์—ด์˜ ์ธ์ž๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•ด์„œ๋Š” ํฌ์ธํ„ฐ ํ˜•์‹์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

 

๐Ÿ”Ž ๋ฐฐ์—ด์„ ์ „๋‹ฌ์ธ์ž๋กœ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 

  • ํšจ์œจ์„ฑ: ๋ฐฐ์—ด์€ ํฌ๊ธฐ๊ฐ€ ์ปค์งˆ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ’์„ ๋ชจ๋‘ ๋ณต์‚ฌํ•˜์—ฌ ์ „๋‹ฌํ•˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ์™€ ์‹œ๊ฐ„์ด ๋‚ญ๋น„๋ฉ๋‹ˆ๋‹ค.
  • ๋‹จ์ˆœํ™”: ๋ฐฐ์—ด์„ ์ „๋‹ฌํ•˜๋ฉด ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฐ’์„ ํ•œ๋ฒˆ์— ํ•จ์ˆ˜๋กœ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ์–ด ์ฝ”๋“œ๋ฅผ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ฐฐ์—ด์˜ ํŠน์„ฑ ํ™œ์šฉ: "๋ฐฐ์—ด์˜ ์ด๋ฆ„์€ ํฌ์ธํ„ฐ์ด๋‹ค." ๋ผ๋Š” ํŠน์ง• ๋•๋ถ„์— ๋ฐฐ์—ด์„ ์ฃผ์†Œ๊ฐ’๋งŒ์œผ๋กœ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๋ฌธ์ œ์ : 

1~2๊ฐœ์˜ ๊ฐ’์ด๋ผ๋ฉด ๊ฐœ๋ณ„ ์ธ์ž๋กœ ์ „๋‹ฌํ•ด๋„ ๊ดœ์ฐฎ์ง€๋งŒ, ๊ฐ’์˜ ๊ฐœ์ˆ˜๊ฐ€ ๋งŽ์•„์งˆ์ˆ˜๋ก ์ „๋‹ฌ๋ฐฉ์‹์ด ๋ณต์žกํ•ด์ง€๊ณ  ์ฝ”๋“œ๊ฐ€ ๋‚œ์žกํ•ด์ง‘๋‹ˆ๋‹ค. 

์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋ฐฐ์—ด์„ ์ „๋‹ฌํ•˜๋ฉด ์—ฌ๋Ÿฌ ๊ฐ’์„ ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์•„๋ž˜ ๋‚ด์šฉ์€ ๊ธฐ๋ณธ์ ์ธ ํ•จ์ˆ˜์˜ ์ธ์ž ์ „๋‹ฌ๋ถ€ํ„ฐ ๋ฐฐ์—ด ์ „๋‹ฌ ์ž‘๋™์›๋ฆฌ์— ๋Œ€ํ•ด ์˜ˆ์‹œ ์ฝ”๋“œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•˜์˜€์Šต๋‹ˆ๋‹ค.

 


1. ๊ธฐ๋ณธ์ ์ธ ํ•จ์ˆ˜์˜ ์ธ์ž ์ „๋‹ฌ ํ˜•ํƒœ : ๊ฐ’ ๋ณต์‚ฌ ๋ฐฉ์‹

 

์—ฌ๊ธฐ์„œ ํ•จ์ˆ˜์˜ ๊ธฐ๋ณธ์ ์ธ ์ธ์ž ์ „๋‹ฌ ๋ฐฉ์‹์€ ๊ฐ’ ๋ณต์‚ฌ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ์‹ค ๋งค๊ฐœ๋ณ€์ˆ˜(Argument)์˜ ๊ฐ’์„ ํ•จ์ˆ˜์˜ ํ˜•์‹ ๋งค๊ฐœ๋ณ€์ˆ˜(Parameter)๋กœ ๋ณต์‚ฌํ•˜์—ฌ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ,  ๋ณต์‚ฌ๋œ ๊ฐ’์€ ํ˜•์‹ ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ๋ณ„๋„ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ์ €์žฅ๋˜๋ฉฐ, ์‹ค๋งค๊ฐœ๋ณ€์ˆ˜์™€ ํ˜•์‹ ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ์„œ๋กœ ๋…๋ฆฝ์ ์ž…๋‹ˆ๋‹ค. 

 

 

๐Ÿ’  ํ•จ์ˆ˜์˜ ์ธ์ž ์ „๋‹ฌ ํ˜•ํƒœ

 

  1. ์‹ค๋งค๊ฐœ๋ณ€์ˆ˜(a)์™€ ํ˜•์‹๋งค๊ฐœ๋ณ€์ˆ˜(b)์˜ ๊ด€๊ณ„
    • a = 10 ์˜ ๊ฐ’์ด ํ•จ์ˆ˜ Temp()์˜ ํ˜•์‹ ๋งค๊ฐœ๋ณ€์ˆ˜ b๋กœ ๋ณต์‚ฌ๋ฉ๋‹ˆ๋‹ค.
    • ๋ณต์‚ฌ ์ดํ›„ a์™€ b๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
    • a์˜ ๊ฐ’์„ ๋ณ€๊ฒฝํ•ด๋„ b์—๋Š” ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์œผ๋ฉฐ ๋ฐ˜๋Œ€๋กœ b๋ฅผ ๋ณ€๊ฒฝํ•ด๋„ a๋Š” ๊ทธ๋Œ€๋กœ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.
  2. ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ ์„ค๋ช…
    • ๊ทธ๋ฆผ์—์„œ a๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ, ๊ฐ’ 10์ด ์ €์žฅ๋œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค.
    • Temp(a)๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด a์˜ ๊ฐ’์ธ 10์ด ๋ณต์‚ฌ๋˜์–ด b์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.
    • ๊ฒฐ๊ณผ์ ์œผ๋กœ, ๊ฐ’๋งŒ ๋ณต์‚ฌ๋˜๋ฉฐ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋Š” ๊ณต์œ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

 

์ฝ”๋“œ ์˜ˆ์ œ: ๊ฐ’ ๋ณต์‚ฌ ๋ฐฉ์‹ ํ™•์ธ

 

 

์ถœ๋ ฅ๊ฒฐ๊ณผ: 

ํ˜•์‹ ๋งค๊ฐœ๋ณ€์ˆ˜ b์˜ ๊ฐ’: 20
์‹ค๋งค๊ฐœ๋ณ€์ˆ˜ a์˜ ๊ฐ’: 10

 

๊ฒฐ๊ณผ์—์„œ ์•Œ ์ˆ˜ ์žˆ๋Š” ์ 

  1. ํ•จ์ˆ˜ ํ˜ธ์ถœ ์‹œ a์˜ ๊ฐ’์ด b๋กœ ๋ณต์‚ฌ๋˜์—ˆ์ง€๋งŒ, Temp() ํ•จ์ˆ˜ ๋‚ด์—์„œ b์˜ ๊ฐ’์„ ๋ณ€๊ฒฝํ•ด๋„ a๋Š” ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  2. ์ด๋Š” ์‹ค๋งค๊ฐœ๋ณ€์ˆ˜์™€ ํ˜•์‹ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅธ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

 

๐Ÿซง ์ •๋ฆฌ

  • ๊ธฐ๋ณธ์ ์ธ ํ•จ์ˆ˜์˜ ์ธ์ž ์ „๋‹ฌ ๋ฐฉ์‹์€ ๊ฐ’ ๋ณต์‚ฌ๋กœ ์‹ค๋งค๊ฐœ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ํ˜•์‹ ๋งค๊ฐœ๋ณ€์ˆ˜์— ๋ณต์‚ฌํ•˜์—ฌ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.
  • ์‹ค๋งค๊ฐœ๋ณ€์ˆ˜์™€ ํ˜•์‹ ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ๋ณ„๋„์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ๋…๋ฆฝ์„ฑ์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ๊ฐ’ ์ „๋‹ฌ์˜ ๋น„ํšจ์œจ์„ฑ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ด๋ฅผ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด ์ฐธ์กฐ ์ „๋‹ฌ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ํ•จ๊ป˜ ๊ณ ๋ คํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

 


 

2. ์ฝ”๋“œ ์˜ˆ์ œ: ๋ฐฐ์—ด ์ „๋‹ฌ ๋ฐ ํฌ์ธํ„ฐ ์ฒ˜๋ฆฌ

 

์–ด๋–ป๊ฒŒ ๋ฐฐ์—ด์„ ์ „๋‹ฌํ•˜๊ณ  ๋ฐ›์„ ๊ฒƒ์ธ๊ฐ€? ๋ฐ”๋กœ ํฌ์ธํ„ฐ์ž…๋‹ˆ๋‹ค.

"๋ฐฐ์—ด์˜ ์ด๋ฆ„์€ ํฌ์ธํ„ฐ์ด๋‹ค." ๋ฐฐ์—ด๊ณผ ํฌ์ธํ„ฐ๋Š” ํ˜•ํƒœ๋งŒ ๋‹ค๋ฅผ ๋ฟ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์ฝ”๋“œ ์˜ˆ์ œ: ๋ฐฐ์—ด ์ „๋‹ฌ ๋ฐ ํฌ์ธํ„ฐ๋กœ ์ฒ˜๋ฆฌ

์ด ์ฝ”๋“œ๋Š” ๋ฐฐ์—ด์˜ ์š”์†Œ๋“ค์„ ๋ชจ๋‘ ๋”ํ•œ ํ•ฉ๊ณ„๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค. ํ•จ์ˆ˜ func()๋Š” ๋ฐฐ์—ด์˜ ํฌ์ธํ„ฐ์™€ ํฌ๊ธฐ๋ฅผ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋ฐ›์•„์„œ ๋ฐฐ์—ด์˜ ์ดํ•ฉ์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

#include <stdio.h>

// ๋ฐฐ์—ดํ˜•์˜ ์ธ์ž๋Š” ํฌ์ธํ„ฐํ˜•์œผ๋กœ ๋ฐ›๋Š”๋‹ค.

int func(int* pArr, int size);
int main(void)
{
	int arr[] = { 1,2,3,4,5 }; // ๋ฐฐ์—ด ์„ ์–ธ ๋ฐ ์ดˆ๊ธฐํ™”
	int sumArr, sizeArr;

	sizeArr = sizeof(arr) / sizeof(int); // ๋ฐฐ์—ด์˜ ํฌ๊ธฐ ๊ณ„์‚ฐ
	sumArr = func(arr, sizeArr);         // ๋ฐฐ์—ด๊ณผ ํฌ๊ธฐ๋ฅผ ์ „๋‹ฌ 
	printf("๋ฐฐ์—ด์˜ ์ด ํ•ฉ์€:%d\n", sumArr);

	return 0;
}

int func(int* pArr, int size)
{
	int i, sum = 0;
	for (i = 0; i < size; i++)
	{
		//sum += pArr[i]; ๋ฐฐ์—ด ํ‘œ๊ธฐ๋ฒ• 
		 sum += *(pArr + i); //  ํฌ์ธํ„ฐ ์—ฐ์‚ฐ์„ ํ†ตํ•ด ๋ฐฐ์—ด ์š”์†Œ ์ ‘๊ทผ
	}
	return sum; // ๋ฐฐ์—ด ์š”์†Œ์˜ ์ดํ•ฉ ๋ฐ˜ํ™˜
}

 

 

๐Ÿ’  ๋ฐฐ์—ด ์ „๋‹ฌ์˜ ์ž‘๋™ ์›๋ฆฌ

  1. ๋ฐฐ์—ด์€ ์ฃผ์†Œ๊ฐ’์„ ์ „๋‹ฌํ•œ๋‹ค.
    • ํ•จ์ˆ˜ ํ˜ธ์ถœ ์‹œ, ๋ฐฐ์—ด arr์˜ ์ฃผ์†Œ๊ฐ’์ด ํ•จ์ˆ˜ func()๋กœ ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค.
    • ์ฆ‰, ๋ฐฐ์—ด์˜ ์ฒซ ๋ฒˆ์งธ ์š”์†Œ์˜ ์ฃผ์†Œ๊ฐ’ &arr[0]์ด ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค.
  2. ํ˜•์‹ ์ธ์ˆ˜์˜ ํ˜•ํƒœ
    • ํ•จ์ˆ˜ func()๋Š” ๋ฐฐ์—ด์˜ ์ฃผ์†Œ๊ฐ’์„ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋ฐ›๊ธฐ ์œ„ํ•ด int* pArr์™€ ๊ฐ™์€ ํฌ์ธํ„ฐ ํ˜•์‹์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
    • ์ด๋Š” ๋ฐฐ์—ด์„ ์ง์ ‘ ์ „๋‹ฌํ•˜์ง€ ์•Š๊ณ , ๋ฐฐ์—ด์˜ ๋ฉ”๋ชจ๋ฆฌ ์‹œ์ž‘์œ„์น˜(์ฃผ์†Œ)๋ฅผ ์ฐธ์กฐํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.
  3. ํฌ์ธํ„ฐ์™€ ๋ฐฐ์—ด์˜ ๊ด€๊ณ„
    • ๋ฐฐ์—ด ์ด๋ฆ„์€ ๋ฐฐ์—ด์˜ ์‹œ์ž‘ ์ฃผ์†Œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ƒ์ˆ˜ ํฌ์ธํ„ฐ์™€ ๊ฐ™์œผ๋ฉฐ, ํฌ์ธํ„ฐ ์—ฐ์‚ฐ์„ ํ†ตํ•ด ๋ฐฐ์—ด์˜ ๊ฐ ์š”์†Œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ๋”ฐ๋ผ์„œ, ๋ฐฐ์—ด์„ ์ „๋‹ฌ๋ฐ›์€ ํ•จ์ˆ˜๋Š” ํฌ์ธํ„ฐ ์—ฐ์‚ฐ(*(pArr+i))๋˜๋Š” ๋ฐฐ์—ด ํ‘œ๊ธฐ๋ฒ• (pArr[i])์œผ๋กœ ๋ฐฐ์—ด ์š”์†Œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

โญ๋ณด์ถฉ ์„ค๋ช…

  1. ํฌ์ธํ„ฐ์™€ ๋ฐฐ์—ด์˜ ๊ด€๊ณ„ ์ •๋ฆฌ
    • "๋ฐฐ์—ด์˜ ์ด๋ฆ„์€ ํฌ์ธํ„ฐ์ด๋‹ค"๋ผ๋Š” ํ‘œํ˜„์€ ๋ฐฐ์—ด ์ด๋ฆ„์ด ์‹œ์ž‘ ์ฃผ์†Œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.
    • ํ•˜์ง€๋งŒ ๋ฐฐ์—ด ์ด๋ฆ„์€ ์ƒ์ˆ˜ ํฌ์ธํ„ฐ๋กœ, ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
    • ํ•จ์ˆ˜์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ „๋‹ฌ๋œ ํฌ์ธํ„ฐ(pArr)๋Š” ๋ฐฐ์—ด ์ด๋ฆ„์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  2. ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ฐฐ์—ด ํ‘œ๊ธฐ๋ฒ•
    • ํ•จ์ˆ˜ ์„ ์–ธ์—์„œ ๋ฐฐ์—ด์„ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋ฐ›์„ ๋•Œ, ๋‹ค์Œ ๋‘ ํ‘œ๊ธฐ๋ฒ•์€ ๋™์ผํ•œ ์˜๋ฏธ๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค. 
    • int func(int *pArr, int size); // ํฌ์ธํ„ฐ ํ˜•์‹ int func(int pArr[], int size); // ๋ฐฐ์—ด ํ‘œ๊ธฐ๋ฒ•
  3. ๋ฐฐ์—ด์˜ ํฌ๊ธฐ ์ œํ•œ
    • ๋ฐฐ์—ด์€ ํฌ๊ธฐ ์ •๋ณด๊ฐ€ ํ•จ์ˆ˜๋กœ ์ „๋‹ฌ๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ, ๋ณ„๋„๋กœ ํฌ๊ธฐ๋ฅผ ํ•จ๊ป˜ ์ „๋‹ฌํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. (int size)
    • ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋ฅผ ๋™์ ์œผ๋กœ ๋‹ค๋ค„์•ผ ํ•  ๊ฒฝ์šฐ์—๋Š” ๋™์  ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์„ ๊ณ ๋ คํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๊ฒฐ๋ก ์ ์œผ๋กœ

  • ๋ฐฐ์—ด์„ ํ•จ์ˆ˜์˜ ์ „๋‹ฌ ์ธ์ž๋กœ ์‚ฌ์šฉํ•˜๋ฉด ์—ฌ๋Ÿฌ ๊ฐ’์„ ํ•œ๊บผ๋ฒˆ์— ๋„˜๊ธธ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํšจ์œจ์ ์ธ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  • ์ด๋ฅผ ์œ„ํ•ด ๋ฐฐ์—ด์˜ ์‹œ์ž‘ ์ฃผ์†Œ๋ฅผ ํฌ์ธํ„ฐ ํ˜•์‹์œผ๋กœ ๋ฐ›์•„ ๋ฐฐ์—ด ์š”์†Œ๋ฅผ ๋‹ค๋ฃน๋‹ˆ๋‹ค.
  • "๋ฐฐ์—ด์˜ ์ด๋ฆ„์€ ํฌ์ธํ„ฐ์ด๋‹ค"๋ผ๋Š” ํŠน์ง•์„ ํ™œ์šฉํ•˜๋ฉด, ๋ฐฐ์—ด๊ณผ ํฌ์ธํ„ฐ์˜ ๊ด€๊ณ„๋ฅผ ์ดํ•ดํ•˜๊ณ  ํšจ๊ณผ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌ ํ• ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 


 

 

 

3. ํ•จ์ˆ˜ ํ˜ธ์ถœ ์‹œ ๋ฐฐ์—ด์˜ ์ฃผ์†Œ ์ „๋‹ฌ๊ณผ์ •

 

๋ฐฐ์—ด์„ ํ•จ์ˆ˜์˜ ์ „๋‹ฌ ์ธ์ž๋กœ ์‚ฌ์šฉํ•  ๋•Œ ๋ฐฐ์—ด์˜ ์ฃผ์†Œ๊ฐ€ ์ „๋‹ฌ๋˜๋Š” ๊ธฐ๋ณธ์›๋ฆฌ์— ๋Œ€ํ•ด ์‹œ๊ฐํ™” ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

 

์—ฌ๊ธฐ์„œ ์ดํ•ดํ•ด์•ผ ํ•  ๋ถ€๋ถ„ โœ… 

  1.  ๋ฐฐ์—ด ์ฃผ์†Œ ์ „๋‹ฌ์˜ ์›๋ฆฌ
  2. ๋งค๊ฐœ ๋ณ€์ˆ˜์— ์ฃผ์†Œ๊ฐ€ ๋ณต์‚ฌ๋˜์–ด ํฌ์ธํ„ฐ๋กœ ๋ฐฐ์—ด ์š”์†Œ๋ฅผ ์ฐธ์กฐํ•˜๋Š” ๋ฐฉ๋ฒ•
  3. ๋ฐฐ์—ด ์ด๋ฆ„๊ณผ ํฌ์ธํ„ฐ์˜ ๊ด€๊ณ„

 

๋ฐฐ์—ด ์ฃผ์†Œ๊ฐ€ ์ „๋‹ฌ๋˜๋Š” ๊ณผ์ •

 

ํ•จ์ˆ˜ ํ˜ธ์ถœ ์ „

  • ๋ฐฐ์—ด arr์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ๋Š” ๊ฐ ์š”์†Œ๊ฐ€ ์—ฐ์†๋œ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋˜๋ฉฐ, ๋ฐฐ์—ด ์ด๋ฆ„ arr์€ ์ฒซ ๋ฒˆ์งธ ์š”์†Œ์˜ ์ฃผ์†Œ๊ฐ’(0X100)์„ ๊ฐ€๋ฆฌํ‚ต๋‹ˆ๋‹ค.

ํ•จ์ˆ˜ ํ˜ธ์ถœ ์‹œ

  • ํ•จ์ˆ˜ func()๋กœ ๋ฐฐ์—ด ์ด๋ฆ„ arr์ด ์ „๋‹ฌ๋˜๋ฉด์„œ, ๋ฐฐ์—ด์˜ ์‹œ์ž‘ ์ฃผ์†Œ๊ฐ’์ด pArr์— ๋ณต์‚ฌ๋ฉ๋‹ˆ๋‹ค.
  • ์ด์ œ ํ•จ์ˆ˜ func()๋Š” ๋ฐฐ์—ด์˜ ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฅผ ์ง์ ‘ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํฌ์ธํ„ฐ์™€ ๋ฐฐ์—ด์˜ ๋…๋ฆฝ์„ฑ

  • ํ•จ์ˆ˜ func()์˜ ๋งค๊ฐœ๋ณ€์ˆ˜ pArr๋Š” ๋ฐฐ์—ด arr์˜ ์ฃผ์†Œ๊ฐ’์„ ๋ณต์‚ฌํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ, ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋‚˜ ๊ตฌ์กฐ์— ๊ด€๊ณ„์—†์ด ๋ฐฐ์—ด ์ „์ฒด๋ฅผ ๊ฐ„๋‹จํžˆ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 


 

4. ํ•จ์ˆ˜ ํ˜ธ์ถœ ์‹œ ๋ฐฐ์—ด ์ฃผ์†Œ ์ „๋‹ฌ๊ณผ ๋ฉ”๋ชจ๋ฆฌ ๋ณ€ํ™” ๊ณผ์ •

 

๋ฐฐ์—ด ์ฃผ์†Œ๊ฐ€ ์ „๋‹ฌ๋˜๋Š” ๊ธฐ๋ณธ ์›๋ฆฌ๋ฅผ ์ดํ•ดํ–ˆ๋‹ค๋ฉด, ์ด์ œ ํ•จ์ˆ˜ ํ˜ธ์ถœ ์ „, ํ˜ธ์ถœ ์ค‘, ํ˜ธ์ถœ ํ›„ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋ณ€ํ™”ํ•˜๋Š”์ง€ ๋‹จ๊ณ„๋ณ„๋กœ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. 

์—ฌ๊ธฐ์„œ ์ดํ•ดํ•ด์•ผ ํ•  ๋ถ€๋ถ„ โœ… 

  1. ํ•จ์ˆ˜ ํ˜ธ์ถœ ์ „: ๋ฐฐ์—ด๊ณผ ๋ณ€์ˆ˜์˜ ์ดˆ๊ธฐ ์ƒํƒœ
  2. ํ•จ์ˆ˜ ํ˜ธ์ถœ ์‹œ: ๋ฐฐ์—ด์˜ ์ฃผ์†Œ ์ „๋‹ฌ ๋ฐ ํ•จ์ˆ˜ ๋‚ด๋ถ€ ์ง€์—ญ ๋ณ€์ˆ˜์˜ ์ƒ์„ฑ
  3. ํ•จ์ˆ˜ ํ˜ธ์ถœ ํ›„: ํ•จ์ˆ˜ ์ข…๋ฃŒ๋กœ ์ธํ•œ ์ง€์—ญ ๋ณ€์ˆ˜ ์†Œ๋ฉธ, ๋ฐฐ์—ด์€ ์›๋ž˜ ์ƒํƒœ ์œ ์ง€

 

  1. ํ•จ์ˆ˜ ํ˜ธ์ถœ ์ „
    • ๋ฐฐ์—ด arr๋Š” ์—ฐ์†๋œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ์ €์žฅ๋˜์–ด ์žˆ์œผ๋ฉฐ, ๋ฐฐ์—ด์˜ ์ด๋ฆ„ arr์€ ๋ฐฐ์—ด์˜ ์ฒซ ๋ฒˆ์งธ ์š”์†Œ(arr[0])์˜ ์ฃผ์†Œ๊ฐ’ 0x100์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
    • arr ๋ฐฐ์—ด ์™ธ์—๋„ sumArr ๋ณ€์ˆ˜๊ฐ€ ๋ณ„๋„๋กœ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.
  2. ํ•จ์ˆ˜ ํ˜ธ์ถœ ์‹œ
    • ํ•จ์ˆ˜ func()๊ฐ€ ํ˜ธ์ถœ๋˜๋ฉด์„œ, ๋ฐฐ์—ด arr์˜ ์ฃผ์†Œ๊ฐ’(0x100) ์ด ๋งค๊ฐœ๋ณ€์ˆ˜ pArr์— ๋ณต์‚ฌ๋ฉ๋‹ˆ๋‹ค.
    • ์ด์ œ ํ•จ์ˆ˜ func() ๋‚ด๋ถ€์—์„œ pArr๋ฅผ ํ†ตํ•ด arr ๋ฐฐ์—ด์˜ ์š”์†Œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • size ๋ณ€์ˆ˜์™€ sum ๋ณ€์ˆ˜๊ฐ€ ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ ์ƒˆ๋กญ๊ฒŒ ์ƒ์„ฑ๋˜๋ฉฐ, ๋ฐฐ์—ด ์š”์†Œ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  3. ํ•จ์ˆ˜ ํ˜ธ์ถœ ํ›„
    • ํ•จ์ˆ˜๊ฐ€ ์ข…๋ฃŒ๋˜๋ฉด์„œ ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ ์‚ฌ์šฉ๋œ ์ง€์—ญ ๋ณ€์ˆ˜(pArr, size, sum)๋Š” ์†Œ๋ฉธ๋ฉ๋‹ˆ๋‹ค.
    • ํ•˜์ง€๋งŒ func() ๊ฐ€ ๋ฐ˜ํ™˜ํ•œ ๊ฐ’(๋ฐฐ์—ด ์š”์†Œ์˜ ์ดํ•ฉ)์€ sumArr์— ์ €์žฅ๋˜์–ด ๋‚จ์•„ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ๋ฐฐ์—ด arr๋Š” ์—ฌ์ „ํžˆ ์›๋ž˜์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.

 

โญ ์ถ”๊ฐ€ ์„ค๋ช…: ๋ฐฐ์—ด ์ฃผ์†Œ ์ „๋‹ฌ์˜ ํŠน์ง•

  1. ์ฃผ์†Œ๊ฐ’ ๋ณต์‚ฌ
    • ํ•จ์ˆ˜ ํ˜ธ์ถœ ์‹œ ๋ฐฐ์—ด ์ž์ฒด๋ฅผ ๋ณต์‚ฌํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ๋ฐฐ์—ด์˜ ์‹œ์ž‘ ์ฃผ์†Œ(&arr[0])๋งŒ ๋ณต์‚ฌํ•˜์—ฌ ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค.
  2. ๋…๋ฆฝ์ ์ธ ์ง€์—ญ ๋ณ€์ˆ˜
    • ํ•จ์ˆ˜ ๋‚ด๋ถ€์˜ ๋งค๊ฐœ๋ณ€์ˆ˜ pArr๋Š” ๋ฐฐ์—ด์˜ ์ฃผ์†Œ๋ฅผ ์ฐธ์กฐํ•˜์ง€๋งŒ, ์ด๋Š” ํ•จ์ˆ˜๊ฐ€ ์ข…๋ฃŒ๋˜๋ฉด ์†Œ๋ฉธ๋ฉ๋‹ˆ๋‹ค.
    • pArr๊ฐ€ ์†Œ๋ฉธ๋˜์–ด๋„ ์›๋ž˜์˜ ๋ฐฐ์—ด arr๋Š” ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  3. ๋ฐฐ์—ด ํฌ๊ธฐ ์ •๋ณด์˜ ํ•„์š”์„ฑ
    • ๋ฐฐ์—ด์€ ํฌ๊ธฐ ์ •๋ณด๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ, ๋ณ„๋„๋กœ ๋ฐฐ์—ด์˜ ํฌ๊ธฐ(sizeArr)๋ฅผ ํ•จ๊ป˜ ์ „๋‹ฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  4. ํ•จ์ˆ˜ ํ˜ธ์ถœ์˜ ํšจ์œจ์„ฑ
    • ๋ฐฐ์—ด์˜ ์š”์†Œ๊ฐ€ ๋งŽ์•„๋„ ์ฃผ์†Œ๊ฐ’ ํ•˜๋‚˜๋งŒ ๋ณต์‚ฌ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฉ”๋ชจ๋ฆฌ์™€ ์‹œ๊ฐ„์ด ์ ˆ์•ฝ๋ฉ๋‹ˆ๋‹ค.

 

 

๋ฐฐ์—ด๊ณผ ํฌ์ธํ„ฐ์˜ ๊ด€๊ณ„๋ฅผ ์ดํ•ดํ•˜๊ณ , ๋ฐฐ์—ด์„ ํ•จ์ˆ˜์˜ ์ „๋‹ฌ ์ธ์ž๋กœ ์‚ฌ์šฉํ•  ๋•Œ์˜ ๋™์ž‘ ์›๋ฆฌ์™€ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ ๋ณ€ํ™”๋ฅผ ์‚ดํŽด๋ณด์•˜์Šต๋‹ˆ๋‹ค. ๋ฐฐ์—ด ์ด๋ฆ„์ด ํฌ์ธํ„ฐ ์ฒ˜๋Ÿผ ๋™์ž‘ํ•œ๋‹ค๋Š” ์ ๊ณผ ๋ฐฐ์—ด์˜ ์ฃผ์†Œ๊ฐ€ ์ „๋‹ฌ๋˜๋ฉฐ, ํ•จ์ˆ˜ ํ˜ธ์ถœ ์ „ํ›„๋กœ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋ณ€ํ™”ํ•˜๋Š”์ง€ ์˜ˆ์ œ ์ฝ”๋“œ์™€ ๊ทธ๋ฆผ์„ ํ†ตํ•ด์„œ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์™€ ๋ฐ์ดํ„ฐ ์ฐธ์กฐ ๋ฐฉ์‹์„ ์ดํ•ดํ•˜๋Š” ์‹œ๊ฐ„์ด์—ˆ์Šต๋‹ˆ๋‹ค....๐Ÿ™‚