๋ฐฐ์ด : ๋์ผํ ์๋ฃํ์ ๊ฐ ์ฌ๋ฌ ๊ฐ๋ฅผ ์ ์ฅํ๋ ์ฐ์๋ ๊ณต๊ฐ
์๋ฃํ ๋ฐฐ์ด๋ช [๋ฐฐ์ด ํฌ๊ธฐ];
int subway_array[3];
์์ : ๋ฐฐ์ด์์ ๋ณ์ ํ๋์ ํด๋นํ๋ ๊ณต๊ฐ, ์ธ๋ฑ์ค๋ก ๊ตฌ๋ถ
#include <stdio.h>
int main(void) {
int subway[3];
subway[0] = 30; // [30][][]
subway[1] = 40; // [30][40][]
subway[2] = 50; // [30][40][50]
for (int i = 0; i < 3; ++i) {
printf("์งํ์ฒ %dํธ์ฐจ์ %d๋ช
์ด ํ๊ณ ์์ต๋๋ค \n", i + 1, subway[i]);
}
return 0;
}
int size = 10;
int array[size]; // ๋ถ๊ฐ๋ฅ. ์์๋ง ๊ฐ๋ฅ
int array[10]; // ๊ฐ๋ฅ
๋ฐฐ์ด ์ด๊ธฐํํ๊ธฐ
์๋ฃํ ๋ฐฐ์ด๋ช [๋ฐฐ์ดํฌ๊ธฐ] = {๊ฐ1, ๊ฐ2, ... };
int arr[10] = {1,2,3,4,5,6,7,8,9,10};
์ ์ธ๋ง ํ๊ณ ์ด๊ธฐํ ์ํค์ง ์์ผ๋ฉด, ์ด์ํ ๊ฐ(์ฐ๋ ๊ธฐ๊ฐ, ๋๋ฏธ๊ฐ)์ด ์ถ๋ ฅ๋๋ค.
๋ฐ๋ผ์ ๋ฐฐ์ด์ ์ ์ธํ๋ฉด ์ฌ์ฉํ๊ธฐ ์ ์ ์ด๊ธฐํํด์ผ ํ๋ค.
์ผ๋ถ๋ง ์ด๊ธฐํํ๋ฉด?
์ด๊ธฐํํ์ง ์์ ๊ฐ๋ค์ 0์ผ๋ก ๋์จ๋ค.
๋ฐฐ์ด์ ์ ์ธ๋ง ํ ๋๋ ํฌ๊ธฐ๋ฅผ ๊ผญ ๋ฃ์ด์ผ ํ๋ค.
ํ์ง๋ง ๋ฐฐ์ด์ ์ ์ธํ๋ฉด์ ์ด๊ธฐํํ ๋๋ ๋๊ดํธ ์์ ๋ฐฐ์ด ํฌ๊ธฐ๋ฅผ ๋ฃ์ง ์์๋ ๋ฐฐ์ด์ด ๋ฌธ์ ์์ด ์์ฑ๋๋ค.
int arr[] = {1,2};
int arr[2] = {1,2};
์ ์๋ ๊ฐ์
๋๊ดํธ ์์ ์ซ์๋ฅผ ์๋ตํ๋ฉด ๊ฐ์ ๊ฐ์๋ฅผ ์ปดํจํฐ(์ปดํ์ผ๋ฌ)๊ฐ ์ธ์ด ์๋์ผ๋ก ๋ฐฐ์ด์ ํฌ๊ธฐ๋ฅผ ์ค์ ํ๊ธฐ ๋๋ฌธ
floatํ ์์
#include <stdio.h>
int main(void) {
float arr[5] = { 1,2,3 };
for (int i = 0; i < 5; i++) {
printf("%.2f\n", arr[i]);
}
return 0;
}
char, stringํ ์์
#include <stdio.h>
int main(void) {
char c = 'A';
char str[] = "coding";
printf("%c\n", c);
printf("%s\n", str);
return 0;
}
char str[6] ์ผ๋ก ์ด๊ธฐํํ ๊ฒฝ์ฐ
๋ค์ ์ฐ๋ ๊ธฐ ๊ฐ์ด ๊ฐ์ด ์ถ๋ ฅ๋๋ค.

๋ฐฐ์ด์ ๊ณต๊ฐ์ด ๋ถ์กฑํด ๋ฌธ์์ด ๋์ ๋(null) ๋ฌธ์๊ฐ ํฌํจ๋์ง ์์๊ธฐ ๋๋ฌธ์ด๋ค.
๋ ๋ฌธ์๋ ํน์ํ ๋ฌธ์๋ก, 0 ์์ ์ญ์ฌ๋์ค๋ฅผ ๋ถ์ฌ(\0) ํํํ๋ค. ๋ฐฐ์ด์ ๋ฌธ์์ด์ ์ ์ฅํ ๋๋ ํญ์ ๋ฌธ์์ด์ ๋์ ์๋ฆฌ๋ ๋ ๋ฌธ์๊ฐ ๋ค์ด๊ฐ ๊ณต๊ฐ์ ๋ง๋ จํด์ผ ํ๋ค. ๊ทธ๋์ ๋ฐฐ์ด ํฌ๊ธฐ๋ฅผ ๊ธ์์ + 1๋ก ์ ์ธํ๋ฉด ๋ง์ง๋ง ์นธ์ ๋ ๋ฌธ์๊ฐ ์๋์ผ๋ก ๋ค์ด๊ฐ๋ค.
char str[7] = "coding"; // [c][o][d][i][n][g][\0]
๋ฉ๋ชจ๋ฆฌ ํฌ๊ธฐ
๋ฐฐ์ด์ ํฌ๊ธฐ๋ sizeof๋ก ์์๋ผ ์ ์๋ค.
sizeof() : ๋ฐฐ์ด, ๋ณ์, ์๋ฃํ ๋ฑ์ด ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ผ๋ง๋ ์ฐจ์งํ๋์ง ๋ฐ์ดํธ ๋จ์๋ก ์๋ ค์ค๋ค.
์ฐธ๊ณ ๋ก ๋ฉ๋ชจ๋ฆฌ์์ ์ํ๋ฒณ๊ณผ ์ซ์๋ 1๋ฐ์ดํธ๋ฅผ ์ฐจ์งํ๋ค.
#include <stdio.h>
int main(void) {
char str[] = "coding";
printf("%s\n", str);
printf("%d\n", sizeof(str)); // 7
return 0;
}
๋ฐฐ์ด์ ๋ฌธ์์ด์ ๋์ ๋ํ๋ด๋ ๋ ๋ฌธ์(\0)๊ฐ ์ ์ฉ๋์ด ๋ฉ๋ชจ๋ฆฌ ํฌ๊ธฐ๋ 7๊ฐ์ ๊ฐ์ง๋ค.
๋ฐฐ์ด ํฌ๊ธฐ๋ฅผ ์ง์ ํ์ง ์์ผ๋ฉด ๊ฐ์ ๊ฐ์์ ๋ง์ถฐ ๊ณต๊ฐ์ด ์์ฑ๋๋ค. ์ด ๋ ๋ฌธ์์ ๋์ ๋ํ๋ด๋ ๋ ๋ฌธ์๊ฐ ๋ค์ด๊ฐ ๊ณต๊ฐ๋ ์๋์ผ๋ก ์์ฑ๋๋ค.

๋ง์ง๋ง ์ค์ด ๋น์ด์๋ค. ๋ฌธ์์ด ๋์ ํ์ํ๋ ๋ ๋ฌธ์๊ฐ ์ถ๋ ฅ๋์๊ธฐ ๋๋ฌธ.
์ด์ฒ๋ผ ๋ฌธ์์ด ๋์๋ ํญ์ ๋ ๋ฌธ์๊ฐ ์๋ค๊ณ ์๊ฐํ๋ฉด ๋๋ค.
๋ฐฐ์ด์ ํ๊ธ ์ ์ฅํ๊ธฐ
๋๋์ฝ๋ฉ์ ์ฌ์ด์ฆ๊ฐ 9์ธ ์ด์ ๋ ํ๊ธ๊ณผ ์ํ๋ฒณ์ด ์ฐจ์งํ๋ ์ ์ฅ ๊ณต๊ฐ์ ํฌ๊ธฐ๊ฐ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ด๋ค.
์ํ๋ฒณ, ์ซ์ : ํ ๊ธ์์ 1๋ฐ์ดํธ
ํ๊ธ : ํ ๊ธ์์ 2๋ฐ์ดํธ
๋ฐ์ดํธ๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํฌ๊ธฐ๋ฅผ ๋ํ๋ด๋ ๋จ์๋ก, 1๋ฐ์ดํธ๋ก ํํํ ์ ์๋ ๋ฌธ์๋ 256๊ฐ์ด๋ค.
ํ๊ธ์ ์ด์ฑ, ์ค์ฑ, ์ข ์ฑ์ ๊ฒฝ์ฐ์ ์๋ฅผ ๋ชจ๋ ๊ณฑํ๋ฉด 11,172๊ฐ๋ก 2๋ฐ์ดํธ์ ๊ณต๊ฐ ํ์
#include <stdio.h>
int main(void) {
char c_array[7] = {'c', 'o', 'd', 'i', 'n', 'g', '\0'};
printf("%s", c_array);
return 0;
}
๋ฐฐ์ด์ ํฌ๊ธฐ๋ฅผ 6์ผ๋ก ์ค์ ํ๋ฉด, ์ค๋ฅ ๋ฐ์
10์ผ๋ก ์ค์ ํ๋ฉด 'coding '์ผ๋ก ์ถ๋ ฅ๋จ
๋ ๋ฌธ์๋ฅผ ์์คํค์ฝ๋(ASCII code)๋ก ๋ฐ๊ฟ์ ์ถ๋ ฅํด๋ณด์.
*์์คํค์ฝ๋ : ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ๋ฌธ์๋ ๊ธฐํธ๋ฅผ ์ปดํจํฐ๊ฐ ์ดํดํ ์ ์๋ 0๊ณผ 1์ ์ ํธ๋ก ๋ณํํ ๊ฒ
๋ณดํต 0๊ณผ 1์ 10์ง์๋ก ๋ฐ๊ฟ ์ซ์๋ก ํ์, ๋ ๋ฌธ์๋ 0, ์ํ๋ฒณ ์๋ฌธ์ a๋ 97, b๋ 98, c๋ 99 ๋ฑ์ผ๋ก ํ์
#include <stdio.h>
int main(void) {
char c_array[10] = {'c', 'o', 'd', 'i', 'n', 'g'};
for (int i = 0; i < sizeof(c_array); ++i) {
printf("%d\n", c_array[i]);
}
return 0;
}
#include <stdio.h>
int main(void) {
char name[256];
printf("์ด๋ฆ์ด ๋ญ์์?\n");
scanf_s("%s", name, (unsigned int)sizeof(name));
printf("%s\n", name);
return 0;
}
์์คํค์ฝ๋
๋ฌธ์ ํ๋๋ฅผ 7๋นํธ๋ก ํํํ๋ฉฐ, 0-127๊น์ง ์ด128(2^7)๊ฐ ๋ฌธ์๋ฅผ ํํ ๊ฐ๋ฅํ๋ค.
a๋ 97, A๋ 65, ๋ ๋ฌธ์๋ 0, ์ซ์ 0์ 48, 1์ 49
์์๋ฌธ์ %c > a, %d > 97
๋ฐ๋ชจ์ ์ฐพ๊ธฐ ํ๋ก์ ํธ
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int main(void) {
srand(time(NULL));
int treatment = rand() % 4 + 1;
printf("์๋ผ๋๋ผ ๋จธ๋ฆฌ๋จธ๋ฆฌ ๊ฒ์\n\n");
int answerCount;
int answer;
int answerArray[] = { 0,0,0,0 };
int chance = 3;
int isInclude = 0;
int continueNum = 0;
for (int i = 0; i < chance; ++i) {
printf("\n๋ช ๊ฐ์ ๋ฐ๋ชจ์ ๋ฅผ ์ ํํ ๊น์? : ");
scanf_s("%d", &answerCount);
for (int j = 0; j < answerCount; ++j) {
printf("%d ๋ฒ ๋ฐ๋ชจ์ ๋ฅผ ์ ํํด์ฃผ์ธ์ : ", j+1);
scanf_s("%d", &answer);
answerArray[j] = answer;
if (answerArray[j] == treatment) {
isInclude = 1;
}
if (answer > 4) {
printf("๋ฒ์๋ฅผ ์ด๊ณผํ์์ต๋๋ค. ๋ค์ ์ ํํด์ฃผ์ธ์\n");
j--;
}
}
if (isInclude == 1) {
printf("๋จธ๋ฆฌ๊ฐ ์๋์ต๋๋ค\n");
}
else {
printf("๋จธ๋ฆฌ๊ฐ ์๋ผ์ง ์์์ต๋๋ค\n");
}
if (i == chance - 1) {
break;
}
printf("\n๊ณ์ํ๋ ค๋ฉด 1, ์๋๋ผ๋ฉด 2๋ฅผ ์
๋ ฅํด์ฃผ์ธ์ : ");
scanf_s("%d", &continueNum);
if (continueNum == 2) {
break;
}
}
printf("\n์ง์ง ๋ฐ๋ชจ์ ๋ ๋ช ๋ฒ์ผ๊น์? : ");
scanf_s("%d", &answer);
if (answer == treatment) {
printf("์ ๋ต, ๋ฐ๋ชจ์ ๋ %d ๋ฒ ์
๋๋ค.", treatment);
}
else {
printf("์คํจ, ๋ฐ๋ชจ์ ๋ %d ๋ฒ ์
๋๋ค.", treatment);
}
return 0;
}
์ํ ์ฑ์ , ํ๊ท ๊ตฌํ๊ธฐ
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int main(void) {
int scoreArray[] = {0,0,0,0,0};
int totalScore = 0;
float mean;
printf("์ํ ์ฑ์ ์ ");
srand(time(NULL));
for(int i = 0; i < 5; ++i){
scoreArray[i] = rand() % 99 + 1;
totalScore += scoreArray[i];
printf("%d, ", scoreArray[i]);
}
printf("์
๋๋ค.\n");
mean = totalScore / (float)sizeof(scoreArray);
printf("์ด์ ์ %d์ ์
๋๋ค.\n", totalScore);
printf("ํ๊ท ์ %.1f์ ์
๋๋ค.\n", mean);
return 0;
}
'๐ฉโ๐ป ํ๋ก๊ทธ๋๋ฐ > ๐ญ C' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[C] ๋ค์ฐจ์ ๋ฐฐ์ด (0) | 2023.12.31 |
---|---|
[C] ํฌ์ธํฐ | ๊ฐ์ ์ํ ํธ์ถ | ์ฐธ์กฐ์ ์ํ ํธ์ถ | clock() | ํ์ ํํฌ (0) | 2023.10.12 |
[C] ํจ์ (0) | 2023.09.10 |
[C] ์กฐ๊ฑด๋ฌธ | ๋์ ์์ฑํ๊ธฐ | switch๋ฌธ (1) | 2023.09.06 |
[C] ๋ฐ๋ณต๋ฌธ (0) | 2023.08.22 |