////
Search
๐Ÿ”ค

C์–ธ์–ด

๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น
์ •์ ํ• ๋‹น๊ณผ ๋™์ ํ• ๋‹น
โ€ข
์ •์ ํ• ๋‹น
โ—ฆ
๋‹จ์ 
โ–ช
ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ๋„์ค‘ ๋ฐฐ์—ด ์‚ฌ์ด์ฆˆ ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€๋Šฅ
โ—ฆ
์žฅ์ 
โ–ช
๋ฐฐ์—ด์˜ ๋ฉ”๋ชจ๋ฆฌ๋Š” ์ž๋™ํ• ๋‹น, ์ž๋™๋ฐ˜๋‚ฉ
โ€ข
๋™์ ํ• ๋‹น
โ—ฆ
์žฅ์ 
โ–ช
ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ๋„์ค‘ ์‚ฌ์ด์ฆˆ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ
โ–ช
์„ธ๋ฐ€ํ•œ ์ปจํŠธ๋กค์ด ๊ฐ€๋Šฅํ•จ
โ—ฆ
๋‹จ์ 
โ–ช
๋ฐฐ์—ด์˜ ๋ฉ”๋ชจ๋ฆฌ๋Š” ์ˆ˜๋™ํ• ๋‹น(malloc), ์ˆ˜๋™๋ฐ˜๋‚ฉ(free)
1์ฐจ์› ๋ฐฐ์—ด๊ณผ 2์ฐจ์› ๋ฐฐ์—ด
โ€ข
1์ฐจ์› ๋ฐฐ์—ด
โ—ฆ
int arr[200];
โ€ข
2์ฐจ์› ๋ฐฐ์—ด
โ—ฆ
int arr[10][20];
โ€ข
2๊ฐ€์ง€ ๋ชจ๋‘ ํ• ๋‹น๋˜๋Š” ๊ณต๊ฐ„์€ ๋˜‘๊ฐ™๋‹ค.
๋ฌธ์ œํ’€์ด
์ฑ•ํ„ฐ 31 : ๋™์ ํ• ๋‹น 3
// ๋ฌธ์ œ : ๋ช‡๋ช…์˜ ์‚ฌ๋žŒ์˜ ๋‚˜์ด๋ฅผ ๋ฐ›์„์ง€ ์ž…๋ ฅ๋ฐ›๊ณ  ์ž…๋ ฅ๋ฐ›์€ ์ˆ˜ ๋งŒํผ ๋‚˜์ด๋ฅผ ์ž…๋ ฅ๋ฐ›์€ ํ›„ ์ €์žฅํ•ด์ฃผ์„ธ์š”. // ์กฐ๊ฑด : 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
๋ณต์‚ฌ
์ฑ•ํ„ฐ 32 : ๋™์ ํ• ๋‹น 4
// ๋ฌธ์ œ : 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
๋ณต์‚ฌ
์ฑ•ํ„ฐ 34 : ๊ตฌ์กฐ์ฒด ๋ฐฐ์—ด
// ๋ฌธ์ œ : `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
๋ณต์‚ฌ