int ์ฒ ์ = 1;
๋ฉ๋ชจ๋ฆฌ์ ์ฒ ์๋ผ๋ ๊ณต๊ฐ์ด ์๊ธด๋ค. ๊ทธ๋ฆฌ๊ณ ์ฒ ์๋ผ๋ ๊ณต๊ฐ์ ์์น๋ฅผ ๋ํ๋ด๋ ์ฃผ์๊ฐ ์๋ค. ์ฐ๋ฆฌ๋ 101ํธ๋ผ๊ณ ์ฝ์ง๋ง, ์ค์ ๋ฉ๋ชจ๋ฆฌ์์๋ ์ด๋ค ๊ฐ์ผ์ง ๋ชจ๋ฅธ๋ค. ์ฃผ์๊ฐ์ ์์๋ด๋ ค๋ฉด ๋ณ์๋ช ์์ &๋ฅผ ๋ถ์ฌ ์ถ๋ ฅํ๋ฉด ๋๋ค.
์ฃผ์๊ฐ์ ์ถ๋ ฅํ๊ณ ์ถ๋ค๋ฉด ์์์ง์ ์ %d ๋์ %p (ํฌ์ธํฐ)๋ฅผ ์ฌ์ฉํ๋ค. ๊ทธ๋ฌ๋ฉด ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ 16์ง์ ํํ๋ก ์ถ๋ ฅํ๋ค.
#include <stdio.h>
int main(void) {
int ์ฒ ์ = 1;
int ์ํฌ = 2;
int ๋ฏผ์ = 3;
printf("์ฒ ์๋ค ์ฃผ์ : %p, ์ํธ : %d\n", &์ฒ ์, ์ฒ ์);
printf("์ํฌ๋ค ์ฃผ์ : %p, ์ํธ : %d\n", &์ํฌ, ์ํฌ);
printf("๋ฏผ์๋ค ์ฃผ์ : %p, ์ํธ : %d\n", &๋ฏผ์, ๋ฏผ์);
return 0;
}
์ฃผ์๊ฐ์ ๋ณ์ ์ฒ ์๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ด๋ ์์น์ ์๋์ง๋ฅผ ๋ํ๋ธ๋ค. ์ฆ, ๋ณ์์ ์ฃผ์
๋ณ์ ์์ *๋ฅผ ๋ถ์ด ์ ์ธํ ๋ณ์๋ฅผ ํฌ์ธํฐ ๋ณ์ ๋๋ ํฌ์ธํฐ๋ผ ํ๋ค. ํฌ์ธํฐ ๋ณ์๋ ๋ฉ๋ชจ๋ฆฌ์ ์ฃผ์๊ฐ์ ์ ์ฅํ๋ ๋ณ์.
์๋ฃํ * ๋ณ์๋ช ;
#include <stdio.h>
int main(void) {
int ์ฒ ์ = 1;
int ์ํฌ = 2;
int ๋ฏผ์ = 3;
int * ๋ฏธ์
๋งจ;
๋ฏธ์
๋งจ = &์ฒ ์;
printf("๋ฏธ์
๋งจ์ด ๋ฐฉ๋ฌธํ ๊ณณ์ ์ฃผ์ : %p, ์ํธ : %d\n", ๋ฏธ์
๋งจ, *๋ฏธ์
๋งจ);
return 0;
}
ํฌ์ธํฐ ๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ค๋ฅธ ๋ณ์์ ์ฃผ์์ ๊ฐ์ ์์๋ผ ์ ์๋ค.
์์๋ธ ๋ณ์์ ์ฃผ์์ ์ฐพ์๊ฐ ๊ฐ๋ ์ง์ ๋ฐ๊ฟ ์ ์๋ค.
#include <stdio.h>
int main(void) {
int ์ฒ ์ = 1;
int ์ํฌ = 2;
int ๋ฏผ์ = 3;
int * ๋ฏธ์
๋งจ;
๋ฏธ์
๋งจ = &์ฒ ์;
*๋ฏธ์
๋งจ = *๋ฏธ์
๋งจ * 3;
printf("๋ฏธ์
๋งจ์ด ์ํธ๋ฅผ ๋ฐ๊พผ ๊ณณ์ ์ฃผ์ : %p, ์ํธ : %d\n", &์ฒ ์, ์ฒ ์);
return 0;
}
int * ์คํ์ด = ๋ฏธ์ ๋งจ;
์คํ์ด๋ ๋ฏธ์ ๋งจ์ด ์์๋ธ ๋๊ตฐ๊ฐ์ ์ง ์ฃผ์๋ฅผ ๋๊ฐ์ด ์ ์ ์๋ค. ํฌ์ธํฐ ๋ณ์ 2๊ฐ๋ ๊ฐ์ ์ฃผ์, ์ฆ ํ๋์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๊ฐ๋ฆฌํฌ ์ ์๋ค. ๊ทธ๋ฆฌ๊ณ ํฌ์ธํฐ ๋ณ์๋ก ์ฃผ์๋ฅผ ์๊ณ ์์ผ๋ฉด ํด๋น ์ฃผ์์ ๊ฐ์ ์ ์ฅํ ๊ฐ์ ๊ฐ์ ธ์ฌ ์๋ ์๊ณ ๊ฐ์ ๋ณ๊ฒฝํ ์๋ ์๋ค.
#include <stdio.h>
int main(void) {
int ์ฒ ์ = 1;
int ์ํฌ = 2;
int ๋ฏผ์ = 3;
int * ๋ฏธ์
๋งจ;
๋ฏธ์
๋งจ = &์ฒ ์;
*๋ฏธ์
๋งจ = *๋ฏธ์
๋งจ * 3;
int * ์คํ์ด = ๋ฏธ์
๋งจ;
*์คํ์ด = *์คํ์ด - 1; // ์ฒ ์ = ์ฒ ์ - 1;
printf("์คํ์ด๊ฐ ๋ฐฉ๋ฌธํ ๊ณณ์ ์ฃผ์ : %p, ์ํธ : %d\n", ์คํ์ด, *์คํ์ด);
return 0;
}
๊ทธ๋ ๊ฒ ๋ฐ๋ ์ํธ
#include <stdio.h>
int main(void) {
int ์ฒ ์ = 1;
int ์ํฌ = 2;
int ๋ฏผ์ = 3;
printf("์ฒ ์์ ์ฃผ์ : %p, ์ํธ : %d\n", &์ฒ ์, ์ฒ ์);
printf("์ํฌ์ ์ฃผ์ : %p, ์ํธ : %d\n", &์ํฌ, ์ํฌ);
printf("๋ฏผ์์ ์ฃผ์ : %p, ์ํธ : %d\n", &๋ฏผ์, ๋ฏผ์);
int * ๋ฏธ์
๋งจ;
int * ์คํ์ด;
๋ฏธ์
๋งจ = &์ฒ ์;
*๋ฏธ์
๋งจ = *๋ฏธ์
๋งจ * 3;
์คํ์ด = ๋ฏธ์
๋งจ;
*์คํ์ด = *์คํ์ด - 1;
printf("๋ฏธ์
๋งจ์ด ๋ฐฉ๋ฌธํ ๊ณณ์ ์ฃผ์ : %p, ์ํธ : %d\n", ๋ฏธ์
๋งจ, *๋ฏธ์
๋งจ);
printf("์คํ์ด๊ฐ ๋ฐฉ๋ฌธํ ๊ณณ์ ์ฃผ์ : %p, ์ํธ : %d\n", ์คํ์ด, *์คํ์ด);
๋ฏธ์
๋งจ = &์ํฌ;
*๋ฏธ์
๋งจ = *๋ฏธ์
๋งจ * 3;
์คํ์ด = ๋ฏธ์
๋งจ;
*์คํ์ด = *์คํ์ด - 1;
printf("๋ฏธ์
๋งจ์ด ๋ฐฉ๋ฌธํ ๊ณณ์ ์ฃผ์ : %p, ์ํธ : %d\n", ๋ฏธ์
๋งจ, *๋ฏธ์
๋งจ);
printf("์คํ์ด๊ฐ ๋ฐฉ๋ฌธํ ๊ณณ์ ์ฃผ์ : %p, ์ํธ : %d\n", ์คํ์ด, *์คํ์ด);
๋ฏธ์
๋งจ = &๋ฏผ์;
*๋ฏธ์
๋งจ = *๋ฏธ์
๋งจ * 3;
์คํ์ด = ๋ฏธ์
๋งจ;
*์คํ์ด = *์คํ์ด - 1;
printf("๋ฏธ์
๋งจ์ด ๋ฐฉ๋ฌธํ ๊ณณ์ ์ฃผ์ : %p, ์ํธ : %d\n", ๋ฏธ์
๋งจ, *๋ฏธ์
๋งจ);
printf("์คํ์ด๊ฐ ๋ฐฉ๋ฌธํ ๊ณณ์ ์ฃผ์ : %p, ์ํธ : %d\n", ์คํ์ด, *์คํ์ด);
printf("์ฒ ์์ ์ฃผ์ : %p, ์ํธ : %d\n", &์ฒ ์, ์ฒ ์);
printf("์ํฌ์ ์ฃผ์ : %p, ์ํธ : %d\n", &์ํฌ, ์ํฌ);
printf("๋ฏผ์์ ์ฃผ์ : %p, ์ํธ : %d\n", &๋ฏผ์, ๋ฏผ์);
return 0;
}

๋ฏธ์ ๋งจ๊ณผ ์คํ์ด ๊ฐ์ ํฌ์ธํฐ ๋ณ์๋ ์ด๋ค ๋ณ์์ ์ฃผ์๋ฅผ ๊ฐ์ผ๋ก ๊ฐ์ง๊ณ ์์ผ๋ฉฐ, ์ฃผ์๋ฅผ ์ด์ฉํด ์ฃผ์์ ํด๋นํ๋ ๋ณ์์ ๊ฐ์ ์ง์ ๋ฐ๊ฟ ์ ์๋ค. ์ถ๊ฐ๋ก, ํฌ์ธํฐ ๋ณ์์ธ ๋ฏธ์ ๋งจ๊ณผ ์คํ์ด๋ ๋ค๋ฅธ ๋ณ์์ ๋ง์ฐฌ๊ฐ์ง๋ก ์ฃผ์๊ฐ ์๋ค. ๋ ํฌ์ธํฐ ๋ณ์์ ์ฃผ์๋ ๋ค์๊ณผ ๊ฐ์ด ์ถ๋ ฅ ๊ฐ๋ฅ.
printf("๋ฏธ์
๋งจ์ ์ฃผ์ : %p\n", &๋ฏธ์
๋งจ);
printf("์คํ์ด์ ์ฃผ์ : %p\n", &์คํ์ด);
๋ฌธ์
int a = 10;
int * p = &a;
a = 15;
printf("%d\n", *p);
*p = 15;
p ๋ a์ ์ฃผ์๋ฅผ ๊ฐ๋ฆฌํจ๋ค. 10์ ์ฃผ์๊ฐ ์๋๋ผ a์ ์ฃผ์. ๋ฐ๋ผ์, *p๋ a ๋ณ์์ ๊ฐ์ ์ ๊ทผํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ค.
์ฌ๊ธฐ์ ์ค์ํ ์ ์ *p์ a๊ฐ ๋์ผํ ๋ฉ๋ชจ๋ฆฌ ์์น๋ฅผ ๊ฐ๋ฆฌํค๊ณ ์๋ค๋ ๊ฒ. ๋ฐ๋ผ์ a์ ๊ฐ์ ๋ณ๊ฒฝํ๋ฉด *p๋ ๋ณ๊ฒฝ๋๋ค.
ํฌ์ธํฐ ๋ณ์์ ๋ฐฐ์ด์ ๊ฐ์ผ๋ก ๋ฃ์ผ๋ฉด ํฌ์ธํฐ ๋ณ์๋ ๋ฐฐ์ด์ ์ฒซ ๋ฒ์งธ ์์์ ์ฃผ์, ์ฆ ๋ฐฐ์ด์ ์์ ์ฃผ์๋ฅผ ๊ฐ๋ฆฌํค๊ฒ ๋๋ค. ๊ทธ๋ฌ๋ฉด ํฌ์ธํฐ ๋ณ์๋ ์์ ์ฃผ์๋ก ๋ฐฐ์ด์ ์ ๊ทผํด ์์์ ๊ฐ์ ํ๋์ฉ ๊ฐ์ ธ์ฌ ์ ์๋ค. ํฌ์ธํฐ ๋ณ์๊ฐ ์ง์ ๋ฐฐ์ด์ ๊ฐ ์์์ ์ ๊ทผํด์ ๊ฐ์ ๋ฐ๊ฟ ์ ์๋ค.
#include <stdio.h>
int main(void) {
int arr[3] = { 5,10,15 };
for (int i = 0; i < 3; i++) {
printf("๋ฐฐ์ด arr[%d]์ ๊ฐ : %d\n", i, arr[i]);
}
int* ptr = arr;
for (int i = 0; i < 3; i++) {
printf("ํฌ์ธํฐ ๋ณ์ ptr[%d]์ ๊ฐ : %d\n", i, ptr[i]);
}
ptr[0] = 100;
ptr[1] = 200;
ptr[2] = 300;
for (int i = 0; i < 3; i++) {
printf("๋ฐฐ์ด arr[%d]์ ๊ฐ : %d\n", i, arr[i]);
}
for (int i = 0; i < 3; i++) {
printf("ํฌ์ธํฐ ๋ณ์ ptr[%d]์ ๊ฐ : %d\n", i, ptr[i]);
}
return 0;
}
int * ptr = arr; (O)
int arr[3] = ptr; (X)
printf("๋ฐฐ์ด arr[%d]์ ๊ฐ : %d\n", i, arr[i]);
printf("๋ฐฐ์ด arr[%d]์ ๊ฐ : %d\n", i, *(arr + i));
์ ๋ ์ถ๋ ฅ๋ฌธ์ ๊ฐ์ ๊ฐ์ ์ถ๋ ฅํ๋ค. ๋ฌธ๋ฒ์ ์ผ๋ก ์์ ํ ๊ฐ์ ๋ฌธ์ฅ. ptr[i] = *(ptr + i)
arr์ arr๋ฐฐ์ด์ด ์์๋๋ ์ฃผ์, ์ฆ ์ฒซ ๋ฒ์งธ ์์์ ์ฃผ์๋ฅผ ๊ฐ์ง๊ณ ์๋ค. arr[i]๋ ๋ฐฐ์ด ์ฒซ ๋ฒ์งธ ์์์ ์ฃผ์๋ก๋ถํฐ i๋ฒ์งธ์ ํด๋นํ๋ ์์์ ๊ฐ์ ๊ฐ์ ธ์จ๋ค๋ ์๋ฏธ
arr == &arr[0];
arr์ ๊ฐ์ arr ๋ฐฐ์ด ์ฒซ ๋ฒ์งธ ์์์ ์ฃผ์์ ๊ฐ์
*(arr + i) == arr[i];
arr์์ i๋งํผ ๋จ์ด์ง ๊ณณ์ ์ ์ฅ๋ ๊ฐ๊ณผ arr๋ฐฐ์ด์ i์ธ๋ฑ์ค ๊ฐ์ ๊ฐ์
0์ ์๋ตํด๋ ๋๊ธฐ ๋๋ฌธ์, *arr = arr[0]
ํฌ์ธํฐ ๋ณ์ ptr์ arr์ ๋ฃ์ผ๋ฉด ptr๋ arr ๋ฐฐ์ด์ ์ฒซ ๋ฒ์งธ ์ฃผ์๋ฅผ ๊ฐ์ผ๋ก ๊ฐ์ง๋ฏ๋ก ๋ฐฐ์ด์ ์์์ ์ ๊ทผํด ๊ฐ์ ์ฝ์ด ์ค๊ฑฐ๋ ๋ฐ๊ฟ ์ ์๋ค.
#include <stdio.h>
int main(void) {
int arr[3] = { 5,10,15 };
for (int i = 0; i < 3; i++) {
printf("๋ฐฐ์ด arr[%d]์ ๊ฐ : %d\n", i, arr[i]);
}
int* ptr = arr;
for (int i = 0; i < 3; i++) {
printf("ํฌ์ธํฐ ๋ณ์ ptr[%d]์ ๊ฐ : %d\n", i, ptr[i]);
}
ptr[0] = 100;
ptr[1] = 200;
ptr[2] = 300;
printf("arr ์์ฒด์ ๊ฐ์ธ ์ฃผ์์ ์ค์ ๊ฐ : %d\n", *arr);
printf("arr[0]์ ์ค์ ๊ฐ : %d\n", *&arr[0]);
return 0;
}
*๊ณผ &๋ฅผ ํจ๊ป ์ฌ์ฉํ ๋
arr[0]์ ์ค์ ๊ฐ์ ์ถ๋ ฅํ ๋, *&arr[0]์ด๋ผ๊ณ ์์ฑํจ. &๋ ์ฃผ์, *์ ์ฃผ์์ ๊ฐ์ ๋ํ๋ด๊ธฐ ๋๋ฌธ์, ๋์ ์์๋๋ค.
ํฌ์ธํฐ๋ก ๋ ๋ณ์์ ๊ฐ ๊ตํํ๊ธฐ
1. ๊ฐ์ ์ํ ํธ์ถ(call by value) : ์ฃผ์๊ฐ ๋์ผํ์ง ์๋ค.
#include <stdio.h>
void swap(int a, int b);
int main(void) {
int a = 10;
int b = 20;
printf("swap() ํจ์ ํธ์ถ ์ => a : %d, b : %d\n", a, b);
swap(a, b);
printf("swap() ํจ์ ํธ์ถ ํ => a : %d, b : %d\n", a, b);
return 0;
}
void swap(int a, int b) {
int temp = a;
a = b;
b = temp;
printf("swap() ํจ์ ์ => a : %d, b : %d\n", a, b);
}
2. ์ฐธ์กฐ์ ์ํ ํธ์ถ(call by reference) : ์ฃผ์๊ฐ ๋์ผํ๋ค.
int main(void) {
int a = 10;
int b = 20;
printf("a์ ์ฃผ์ : %p\n", &a);
printf("b์ ์ฃผ์ : %p\n", &b);
printf("swap_addr() ํจ์ ํธ์ถ ์ => a : %d, b : %d\n", a, b);
swap_addr(&a, &b);
printf("swap_addr() ํจ์ ํธ์ถ ํ => a : %d, b : %d\n", a, b);
return 0;
}
void swap_addr(int * a, int * b){
printf("swap_addr() ํจ์ ์์์ a์ ์ฃผ์ : %p\n", a);
printf("swap_addr() ํจ์ ์์์ b์ ์ฃผ์ : %p\n", b);
int temp = *a;
*a = *b;
*b = temp;
printf("swap_addr() ํจ์ ์ => a : %d, b : %d\n", *a, *b);
}
ํฌ์ธํฐ๋ก ๋ฐฐ์ด์ ๊ฐ ๋ฐ๊พธ๊ธฐ
๋ฐฐ์ด๋ช = ๋ฐฐ์ด์ ์์์ฃผ์ = &arr2[0]
void changeArray(int* ptr);
int main(void) {
int arr2[3] = { 10, 20, 30 };
changeArray(arr2);
changeArray(&arr2[0]); // ๋ฐฐ์ด์ ์์ ์ฃผ์ (์ฒซ ๋ฒ์งธ ์์์ ์ฃผ์) ์ ๋ฌ
for (int i = 0; i < 3; ++i) {
printf("%d\n", arr2[i]);
}
return 0;
}
void changeArray(int* ptr) {
ptr[2] = 50;
}
๋ฐฐ์ด์ ์ฐ์๋ ๊ณต๊ฐ์ ํ ๋นํ๋ฏ๋ก ์ฃผ์๊ฐ ์ฐ์๋๋ค. ๋ฐ๋ผ์ ๋ฐฐ์ด์ ์์ ์ฃผ์์ธ ์ฒซ ๋ฒ์งธ ์์์ ์ฃผ์๋ฅผ ์ ๋ฌํ๋ฉด ์ฒ๊ฐ ์ฃผ์๋ฅผ ๊ธฐ์ค์ผ๋ก ์ง์ ํ ์์์ ์์น๋ฅผ ์ฐพ์ ๊ฐ์ ๋ฐ๊ฟ ์ ์๋ค.
๋ฌผ๊ณ ๊ธฐ ํค์ฐ๊ธฐ ๊ฒ์
clock() : ํ๋ก๊ทธ๋จ ์ํ ์์ ์์ ๋ถํฐ ํ์ฌ๊น์ง ํ๋ฅธ ์๊ฐ์ ๋ฐ๋ฆฌ์ด ๋จ์๋ก ๋ฐํํ๋ ํจ์
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int level;
int arrayFish[6];
int* cursor; // ์ดํญ ๋ฐฐ์ด์ ์ ๊ทผํ ํฌ์ธํฐ ๋ณ์ ์ ์ธ
void initData();
void printfFishes();
void decreaseWater(long elapsedTime);
int checkFishAlive();
int main(void) {
long startTime = 0; // ๊ฒ์ ์์ ์๊ฐ์ ๋ด์ ๋ณ์ ์ ์ธ ๋ฐ ์ด๊ธฐํ
int num;
long totalElapsedTime = 0; // ์ด ๊ฒฝ๊ณผ์๊ฐ
long prevElapsedTime = 0; // ์ง์ ์ ๋ฌผ์ ์ค ์๊ฐ (๋ฌผ์ ์ค ๊ฐ๊ฒฉ)
initData();
startTime = clock();
cursor = arrayFish; // ํฌ์ธํฐ ๋ณ์์ ์ดํญ ๋ฐฐ์ด์ ์์ ์ฃผ์ ๋ฃ๊ธฐ
while (1) {
printfFishes();
printf("๋ช ๋ฒ ์ดํญ์ ๋ฌผ์ ์ค๊น์? (1-6) ");
scanf_s("%d", &num);
if (num < 1 || num > 6) {
printf("\n์
๋ ฅ๊ฐ์ด ์๋ชป๋์ต๋๋ค.\n");
continue;
}
totalElapsedTime = (clock() - startTime) / CLOCKS_PER_SEC; // ์ด ๊ฒฝ๊ณผ ์๊ฐ (์ด ๋จ์๋ก ํ์)
printf("์ด ๊ฒฝ๊ณผ ์๊ฐ : %ld์ด\n", totalElapsedTime);
prevElapsedTime = totalElapsedTime - prevElapsedTime; // ์ง์ ์ ๋ฌผ ์ค ์๊ฐ ์ดํ๋ก ํ๋ฅธ ์๊ฐ
printf("์ต๊ทผ ๊ฒฝ๊ณผ ์๊ฐ : %ld์ด\n", prevElapsedTime);
decreaseWater(prevElapsedTime);
if (cursor[num - 1] <= 0) {
printf("%d๋ฒ ์ดํญ์ ๋ฌผ๊ณ ๊ธฐ๋ ์ด๋ฏธ ์ฃฝ์์ผ๋ฏ๋ก ๋ฌผ์ ์ฃผ์ง ์์ต๋๋ค\n", num);
}
else if (cursor[num - 1] + 1 <= 100) {
printf("%d๋ฒ ์ดํญ์ ๋ฌผ์ ์ค๋๋ค\n\n", num);
// ๋ฌผ์ ์ฃผ๋ฉด ๋ฌผ ๋์ด + 1(cursor[num-1] = cursor[num -1] + 1)
cursor[num - 1] += 1;
}
if (totalElapsedTime / 20 > level - 1) { // ๋ ๋ฒจ์
ํ์ธ(20์ด๋ง๋ค ํ ๋ฒ์ฉ ์ํ. ๋ชซ์ ํ์ธ)
level++;
printf("***์ถํํฉ๋๋ค. %d๋ ๋ฒจ์์ %d๋ ๋ฒจ๋ก ์ฌ๋์ต๋๋ค. *** \n\n", level - 1, level);
if (level == 5) {
printf("\n\n์ถํํฉ๋๋ค. ์ต๊ณ ๋ ๋ฒจ์ ๋ฌ์ฑํ์ต๋๋ค. ๊ฒ์์ ์ข
๋ฃํฉ๋๋ค. \n\n");
exit(0);
}
}
if (checkFishAlive() == 0) {
printf("๋ชจ๋ ๋ฌผ๊ณ ๊ธฐ๊ฐ ์ฃฝ์์ต๋๋ค. ใ
ใ
\n\n");
exit(0);
}
else {
printf("๋ฌผ๊ณ ๊ธฐ๊ฐ ์์ง ์ด์์์ด์!\n\n");
}
prevElapsedTime = totalElapsedTime;
}
return 0;
}
void initData() {
level = 1; // ๋ ๋ฒจ ์ด๊ธฐํ (๋ ๋ฒจ ๋ฒ์ 1~5)
for (int i = 0; i < 6; ++i) {
arrayFish[i] = 100; // ์ดํญ ๋ฌผ ๋์ด ์ด๊ธฐํ (๋ฌผ ๋์ด ๋ฒ์ 0~100)
}
}
void printfFishes() { // ์ดํญ ๋ฌผ ๋์ด ์ถ๋ ฅ ํจ์ ์ ์
printf("%3d๋ฒ %3d๋ฒ %3d๋ฒ %3d๋ฒ %3d๋ฒ %3d๋ฒ\n", 1, 2, 3, 4, 5, 6);
for (int i = 0; i < 6; ++i) {
printf(" %3d ", arrayFish[i]); // ์์ ์ง์ ์๋ก ์ถ๋ ฅ ๊ฒฐ๊ณผ ์ ๋ ฌ
}
printf("\n\n");
}
void decreaseWater(long elapsedTime) { // ์ดํญ์ ๋ฌผ์ ์ฆ๋ฐ(๊ฐ์)์ํค๋ ํจ์ ์ ์
for (int i = 0; i < 6; ++i) {
arrayFish[i] -= (level * 3 * (int)elapsedTime);
if (arrayFish[i] < 0) {
arrayFish[i] = 0;
}
}
}
int checkFishAlive() { // ๋ชจ๋ ๋ฌผ๊ณ ๊ธฐ๊ฐ ์ฃฝ์๋์ง ํ์ธํ๋ ํจ์
for (int i = 0; i < 6; ++i) {
if (arrayFish[i] > 0) {
return 1; // ์ฐธ(true)
}
}
return 0;
}
์์ ์ง์ ์์ ํ์ ํ๊ทธ
printfFishes() ํจ์์์ ์์ ์ง์ ์์ ๋ฃ๋ ์ซ์ 3์ ์์ ์ง์ ์์ ์ต์ ์ ์ถ๊ฐํ ์ ์๋ ํ์ ํ๊ทธ์ ํ๋.
์ด ์ซ์๋ ์ถ๋ ฅํ ๊ฐ์ ํญ ๋๋ ๋๋น๋ฅผ ์ง์ ํ๋ค. ์๋ฆฟ์๋ผ๊ณ ๋ณด๋ฉด ๋จ. 3์ ๋ฃ์ผ๋ฉด 3์๋ฆฌ๋ก ์ง์ ํ๋ค.
๋ง์ฝ ์ถ๋ ฅํ ๊ฐ์ด ์ง์ ํ ๋๋น๋ณด๋ค ์์ผ๋ฉด ์๋ฆฟ์๋ฅผ ๋ง์ถ๊ธฐ ์ํด ๋น์นธ์ผ๋ก ์ฑ์ด๋ค.
๋ํ, %03d์ ๊ฐ์ด % ๋ค์ 0์ ์ถ๊ฐํ๋ฉด ๋น์นธ ๋์ 0์ผ๋ก ์ฑ์ด๋ค. ๊ฒฐ๊ณผ๋ฅผ ์ ๋ ฌํด์ ์ถ๋ ฅํ๊ณ ์ถ์ ๋ ์ฌ์ฉํ๋ฉด ์ ์ฉํ๋ค.
์ง์๋ง ์ ๊ณฑํ๋ ์์
#include <stdio.h>
void square(int* a);
int main(void) {
int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
for (int i = 0; i < 10; ++i) {
square(&arr[i]);
}
for (int i = 0; i < 10; ++i) {
printf(" %3d ", arr[i]);
}
return 0;
}
void square(int* a) {
if (*a % 2 == 0) {
*a = *a * *a;
}
}
'๐ฉโ๐ป ํ๋ก๊ทธ๋๋ฐ > ๐ญ C' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[C] ๊ตฌ์กฐ์ฒด | typedef (1) | 2024.01.01 |
---|---|
[C] ๋ค์ฐจ์ ๋ฐฐ์ด (0) | 2023.12.31 |
[C] ๋ฐฐ์ด | null | sizeof() | ์์คํค์ฝ๋ (0) | 2023.09.10 |
[C] ํจ์ (0) | 2023.09.10 |
[C] ์กฐ๊ฑด๋ฌธ | ๋์ ์์ฑํ๊ธฐ | switch๋ฌธ (1) | 2023.09.06 |