โข
์ ์ ํ ๋น
โฆ
๋จ์
โช
ํ๋ก๊ทธ๋จ ์คํ ๋์ค ๋ฐฐ์ด ์ฌ์ด์ฆ ๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅ
โฆ
์ฅ์
โช
๋ฐฐ์ด์ ๋ฉ๋ชจ๋ฆฌ๋ ์๋ํ ๋น, ์๋๋ฐ๋ฉ
โข
๋์ ํ ๋น
โฆ
์ฅ์
โช
ํ๋ก๊ทธ๋จ ์คํ ๋์ค ์ฌ์ด์ฆ ๋ณ๊ฒฝ ๊ฐ๋ฅ
โช
์ธ๋ฐํ ์ปจํธ๋กค์ด ๊ฐ๋ฅํจ
โฆ
๋จ์
โช
๋ฐฐ์ด์ ๋ฉ๋ชจ๋ฆฌ๋ ์๋ํ ๋น(malloc), ์๋๋ฐ๋ฉ(free)
โข
1์ฐจ์ ๋ฐฐ์ด
โฆ
int arr[200];
โข
2์ฐจ์ ๋ฐฐ์ด
โฆ
int arr[10][20];
โข
2๊ฐ์ง ๋ชจ๋ ํ ๋น๋๋ ๊ณต๊ฐ์ ๋๊ฐ๋ค.
// ๋ฌธ์ : ๋ช๋ช
์ ์ฌ๋์ ๋์ด๋ฅผ ๋ฐ์์ง ์
๋ ฅ๋ฐ๊ณ ์
๋ ฅ๋ฐ์ ์ ๋งํผ ๋์ด๋ฅผ ์
๋ ฅ๋ฐ์ ํ ์ ์ฅํด์ฃผ์ธ์.
// ์กฐ๊ฑด : malloc์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
// ์ถ๋ ฅ์์
/*
์ฌ๋์ ์ซ์๋ฅผ ์
๋ ฅํด์ฃผ์ธ์. : 7[์ํฐ]
3 ์ดํ๋ก ์
๋ ฅํด์ฃผ์ธ์.
์ฌ๋์ ์ซ์๋ฅผ ์
๋ ฅํด์ฃผ์ธ์. : 4[์ํฐ]
3 ์ดํ๋ก ์
๋ ฅํด์ฃผ์ธ์.
์ฌ๋์ ์ซ์๋ฅผ ์
๋ ฅํด์ฃผ์ธ์. : 100[์ํฐ]
3 ์ดํ๋ก ์
๋ ฅํด์ฃผ์ธ์.
์ฌ๋์ ์ซ์๋ฅผ ์
๋ ฅํด์ฃผ์ธ์. : 2[์ํฐ]
1๋ฒ์งธ ์ฌ๋์ ๋์ด๋ฅผ ์
๋ ฅํด์ฃผ์ธ์ : 33[์ํฐ]
2๋ฒ์งธ ์ฌ๋์ ๋์ด๋ฅผ ์
๋ ฅํด์ฃผ์ธ์ : 50[์ํฐ]
1๋ฒ์งธ ์ฌ๋์ ๋์ด : 33
2๋ฒ์งธ ์ฌ๋์ ๋์ด : 50
*/
#include <stdio.h>
#include <stdlib.h>
#pragma warning (disable: 4996)
#define true 1
int main(void) {
int num;
int* age;
while (true) {
printf("์ฌ๋์ ์ซ์๋ฅผ ์
๋ ฅํด์ฃผ์ธ์. : ");
scanf("%d", &num);
if (num > 3) {
printf("3 ์ดํ๋ก ์
๋ ฅํด์ฃผ์ธ์. \n");
}
else {
age = (int *)malloc(sizeof(int)*num);
break;
}
}
for (int i=0; i<num; i++) {
printf("%d๋ฒ์งธ ์ฌ๋์ ๋์ด๋ฅผ ์
๋ ฅํด์ฃผ์ธ์ : ", i + 1);
scanf("%d",age + i);
}
for (int i=0; i<num; i++) {
printf("%d๋ฒ์งธ ์ฌ๋์ ๋์ด : %d\n", i + 1, *(age + i));
}
return 0;
}
C
๋ณต์ฌ
// ๋ฌธ์ : int ์์ด, int*์ malloc์ ์ฌ์ฉํด์ ํจ์๋ฅผ ๋ค์ ๋ง๋ค์ด์ฃผ์ธ์.
#include <stdio.h>
#include <stdlib.h>
void print_99dan() {
int* dan = (int *)malloc(sizeof(int));
int* i = (int *)malloc(sizeof(int));
for ( *dan = 2; *dan <= 9; (*dan)++ ) {
printf("== %d๋จ ==\n", *dan);
for ( *i = 1; *i <= 9; (*i)++ ) {
printf("%d * %d = %d\n", *dan, *i, *dan * *i);
}
}
}
int main(void) {
print_99dan();
return 0;
}
C
๋ณต์ฌ
// ๋ฌธ์ : `names` ๋ฐฐ์ด์ ์ด๋ฆ 10๊ฐ๋ฅผ ๋ฃ์ด์ฃผ์ธ์.
// ์กฐ๊ฑด : ์์ ๊ฐ๋ฅ์ง์ญ๋ง ์์ ํ ์ ์์ต๋๋ค.
// ์ถ๋ ฅ์์
/*
1๋ฒ์งธ ์ฌ๋์ ์ด๋ฆ์ ์
๋ ฅํด์ฃผ์ธ์ : 11
2๋ฒ์งธ ์ฌ๋์ ์ด๋ฆ์ ์
๋ ฅํด์ฃผ์ธ์ : 22
3๋ฒ์งธ ์ฌ๋์ ์ด๋ฆ์ ์
๋ ฅํด์ฃผ์ธ์ : 33
4๋ฒ์งธ ์ฌ๋์ ์ด๋ฆ์ ์
๋ ฅํด์ฃผ์ธ์ : 44
5๋ฒ์งธ ์ฌ๋์ ์ด๋ฆ์ ์
๋ ฅํด์ฃผ์ธ์ : 55
6๋ฒ์งธ ์ฌ๋์ ์ด๋ฆ์ ์
๋ ฅํด์ฃผ์ธ์ : 66
7๋ฒ์งธ ์ฌ๋์ ์ด๋ฆ์ ์
๋ ฅํด์ฃผ์ธ์ : 77
8๋ฒ์งธ ์ฌ๋์ ์ด๋ฆ์ ์
๋ ฅํด์ฃผ์ธ์ : 88
9๋ฒ์งธ ์ฌ๋์ ์ด๋ฆ์ ์
๋ ฅํด์ฃผ์ธ์ : 99
10๋ฒ์งธ ์ฌ๋์ ์ด๋ฆ์ ์
๋ ฅํด์ฃผ์ธ์ : 00
1๋ฒ์งธ ์ฌ๋์ ์ด๋ฆ : 11
2๋ฒ์งธ ์ฌ๋์ ์ด๋ฆ : 22
3๋ฒ์งธ ์ฌ๋์ ์ด๋ฆ : 33
4๋ฒ์งธ ์ฌ๋์ ์ด๋ฆ : 44
5๋ฒ์งธ ์ฌ๋์ ์ด๋ฆ : 55
6๋ฒ์งธ ์ฌ๋์ ์ด๋ฆ : 66
7๋ฒ์งธ ์ฌ๋์ ์ด๋ฆ : 77
8๋ฒ์งธ ์ฌ๋์ ์ด๋ฆ : 88
9๋ฒ์งธ ์ฌ๋์ ์ด๋ฆ : 99
10๋ฒ์งธ ์ฌ๋์ ์ด๋ฆ : 00
*/
#include <stdio.h>
#pragma warning (disable: 4996)
#define NAMES_COUNT 10 // ์ด๋ฆ์ด 10๊ฐ ๋ค์ด๊ฐ์ผ ํ๋ค๋ ๋ป
#define NAMES_SIZE 200 // names ๋ฐฐ์ด์ ํฌ๊ธฐ๊ฐ ์ด 200๋ฐ์ดํธ ๋ผ๋ ๋ป
// ๊ฒฐ๋ก ์ ์ผ๋ก ์ด๋ฆํ๋ ์ ์ฅํ๋๋ฐ 20๋ฐ์ดํธ๋ฅผ ์ธ ์ ์๋ค๋ ๋ป์ด๋ค.
int main(void) {
char names[NAMES_SIZE];
// ์์ ๊ฐ๋ฅ์ง์ญ ์์
for (int i=0; i<NAMES_COUNT; i++) {
printf("%d๋ฒ์งธ ์ฌ๋์ ์ด๋ฆ์ ์
๋ ฅํด์ฃผ์ธ์ :",i + 1);
scanf("%s",names + 20 * i);
}
for (int i=0; i<NAMES_COUNT; i++) {
printf("%d๋ฒ์งธ ์ฌ๋์ ์ด๋ฆ : %s\n", i + 1, names + 20 * i);
}
// ์์ ๊ฐ๋ฅ์ง์ญ ๋
return 0;
}
C
๋ณต์ฌ