์ด ๊ธ์ Boostcourse [๋ชจ๋๋ฅผ ์ํ ์ปดํจํฐ ๊ณผํ]์ ์๊ฐํ๊ณ ์์ฑ๋์์ต๋๋ค.
๋ฐฐ์ด : ๊ฐ์ ์๋ฃํ์ผ๋ก ๋ ์ฌ๋ฌ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฐ์์ ์ผ๋ก ์ ์ฅํ ๊ฒ
// ๋ฐฐ์ด์ ์ด๋ฆ
int scores [3];
// ์๋ฃํ ๋ฐฐ์ด์ ํฌ๊ธฐ
scores[0] = 90;
scores[1] = 88;
scores[2] = 60;
๋ฐฐ์ด์ ๊ฐ ๊ฐ์ ์ธ๋ฑ์ค(index)๋ฅผ ๊ฐ๊ณ ์๋ค. ์ธ๋ฑ์ค๋ 0๋ถํฐ ์์ํ๋ฉฐ, ์ธ๋ฑ์ค๋ฅผ ๋ฐฐ์ด๋ค์ [ ]์์ ์
๋ ฅํ๋ค. ์ธ๋ฑ์ค๋ก ๋ฐฐ์ด์ ์ํ๋ ์์น์ ๊ฐ์ ์ ์ฅํ๊ณ ๋ถ๋ฌ์ฌ ์ ์๋ค.
์ฝ๋ ์ ๋ฐ์ ๊ฑธ์ณ ๋ณํ์ง ์๋, ๊ณ ์ ๋ ๋ณ์๋ฅผ ์ ์ญ๋ณ์๋ก ์ ์ํ๋ค. mainํจ์๊ฐ ์์๋๊ธฐ ์ ์ ์์ฑํ๋ฉฐ, ๋ณดํต ๋ณ์์ ์ด๋ฆ์ ๋๋ฌธ์๋ก ์ ์ฅํ๋ค.
const int N = 3; //์ ์ญ๋ณ์ ์ ์
int main(void){
~
string = char(๋ฌธ์) ์๋ฃํ ๋ฐ์ดํฐ์ ๋ฐฐ์ด
๋ฌธ์์ด์ ์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋๋ค. ๋ฐฐ์ด์ ์ธ๋ฑ์ค๊ฐ์ ํตํด ๊ฐ char์ ์ ๊ทผํ ์ ์๋ค ex. s[0] = c;
๋์ข
๋จ๋ฌธ์\0
๋ ๋ฌธ์์ด์ ๋์ ์๋ฆฐ๋ค. ๋์ข
๋จ๋ฌธ์๋ 1byte๋ฅผ ์ฐจ์งํ๋ฉฐ, ๋ฐ๋ผ์ ๊ธธ์ด๊ฐ 4์ธ ๋ฌธ์์ด์ ์ฌ์ค 4byte๋ฅผ ์ฐจ์งํ๋ค.
C์ธ์ด์์ ๋ช ๋ น ํ๋กฌํํธ์์ ๋ฐ๋ ์ ๋ ฅ๊ฐ์ string์ผ๋ก argv(argument vector)๋ผ๋ ๋ฐฐ์ด์ ์ ์ฅ๋๋ค. argv[0]์๋ ๊ธฐ๋ณธ์ ์ผ๋ก 'ํ๋ก๊ทธ๋จ์ ์ด๋ฆ'์ด ์ ์ฅ๋๋ค. argc(argument count)๋ mainํจ์๊ฐ ๋ฐ๊ฐ๋ ์ ๋ ฅ์ ๊ฐ์๋ฅผ ์๋ฏธํ๋๋ฐ, mainํจ์๋ argc์ argv๋ฅผ ๋งค๊ฐ๋ณ์๋ก ๋ฐ๊ธฐ๋ํ๋ค.
#include <cs50.h>
#include <stdio.h>
int main(int argc, string argv[])
{
if (argc == 2)
{
printf("hello, %s\n", argv[1]);
}
else
{
printf("hello, world\n");
}
}
๋ง์ฝ ์ ํ๋ก๊ทธ๋จ์ ์ด๋ฆ์ด argc์ด๊ณ , ๋ช ๋ น์ฐฝ์ "./argc"๋ผ๊ณ ์ ๋ ฅํ๋ค๋ฉด argc๊ฐ 1์ด๊ธฐ ๋๋ฌธ์ "hello, world"๋ฅผ ์ถ๋ ฅํ ๊ฒ ์ด๋ค. ๋ง์ฝ ๋ช ๋ น์ฐฝ์ "./argc mike"๋ผ ์ ๋ ฅํ๋ค๋ฉด, "hello, mike"๋ฅผ ์ถ๋ ฅํ ๊ฒ์ด๋ค.