ðŸCèšèªã§åŠã¶ããã°ã©ãã³ã°ïŒãã€ã³ã¿ç·š
CèšèªãåŠã¶äžã§ããã€ã³ã¿ã¯é¿ããŠéããªãéèŠãªæŠå¿µã§ããå€ãã®åŠç¿è ãã€ãŸã¥ããã€ã³ãã§ããããŸãããæ£ããçè§£ããããšã§ãCèšèªã®åŒ·åãªæ©èœãåŒãåºããããå¹ççã§æè»ãªããã°ã©ãã³ã°ãå¯èœã«ãªããŸãã
ãã®èšäºã§ã¯ããã€ã³ã¿ã®åºæ¬ããã倿°ã颿°ãé åãæååãšã®é¢ä¿ãŸã§ã培åºçã«è§£èª¬ããŸããæå ã§ã³ãŒããå®è¡ããå³ãæããªããçè§£ãæ·±ããããšã匷ããå§ãããŸãã
1. 倿°ãšã¡ã¢ãªã®åºæ¬
Cèšèªã«ããã倿°ã¯ãããã°ã©ã å®è¡äžã«å¿ èŠãªæ å ±ãä¿æããããã®èšæ¶é åãäŸãããªããç®±ãã®ãããªãã®ã§ããåŸããå©çšããæ å ±ã¯ãã¹ãŠèŠããŠããå¿ èŠããããŸãã
倿°ãæ±ãéã«ã¯ã以äžã®4ã€ã®èŠçŽ ãæèããããšãéèŠã§ã:
- åå: åç §ã®ããã«ä»ããèå¥åãèšæ¶å å®¹ãæ³åã§ããååãè¯ããšãããŸãã
-
å: èšæ¶ã§ããå€ã®çš®é¡ãç®±ã®ã圢ããã倧ãããã«çžåœããæŽæ°åïŒ
int
ïŒã宿°åïŒdouble
ïŒãæååïŒchar
ïŒãªã©ããããŸãã - å€: 倿°ã«èšæ¶ãããŠããäžèº«ã®ããšãäžã€ã®å€æ°ã¯äžã€ã®å€ããèšæ¶ã§ããŸããã
- äœæ (ã¢ãã¬ã¹): 倿°ãã¡ã¢ãªäžã®ã©ãã«é 眮ãããŠãããã瀺ãå Žæããã®äœæãã倿°ãç¹å®ã§ããã®ããã€ã³ã¿ã§ãã
&
ã®å°å
¥
1.1. ã¢ãã¬ã¹æŒç®å 倿°ã®ãäœæïŒã¢ãã¬ã¹ïŒãã¯ãã¢ãã¬ã¹æŒç®å &
ãçšããããšã§ååŸã§ããŸãã&
ã¯åãªãç®å°ã§ã¯ãªããèšç®ããããã®æŒç®åã§ãã
#include <stdio.h>
int main(void) {
int i = 3;
double d = 2.1;
char c = 'a';
// 倿°ã®äœæãšå€ã衚瀺
printf("iïŒäœæã¯%pïŒå€ã¯%d\n", &i, i); // %p ã¯äœæã衚瀺ãã倿æå®å
printf("dïŒäœæã¯%pïŒå€ã¯%.1f\n", &d, d);
printf("cïŒäœæã¯%pïŒå€ã¯%c\n", &c, c);
return 0;
}
å®è¡çµæã®äŸ:
iïŒäœæã¯0x22cb1cïŒå€ã¯3
dïŒäœæã¯0x22cb10ïŒå€ã¯2.1
cïŒäœæã¯0x22cb0fïŒå€ã¯a
äžèšã®ããã«ã&倿°å
ãšããããšã§ããã®å€æ°ã®äœæïŒ16鲿°ã§ 0x
ããå§ãŸãå€ïŒãåŸãããŸãã
*
1.2. ãã€ã³ã¿å€æ°ãšéæ¥æŒç®å äœæãèšæ¶ããããã®å€æ°ããã€ã³ã¿å€æ°ãšåŒã³ãŸãããã€ã³ã¿å€æ°ã¯ãèšæ¶ããäœæã®åã«ãã£ãŠãã®åãæ±ºãŸããŸããäŸãã°ãint
åã®å€æ°ã®äœæãèšæ¶ãããã€ã³ã¿å€æ°ã¯ãint
åã®ãã€ã³ã¿å€æ°ããšåŒã°ããint*
ãšå®£èšããŸãã
#include <stdio.h>
int main(void) {
int n; // intå倿°nãæºå
int* ptr; // intåã®ãã€ã³ã¿å€æ°ptrãæºå
n = 57;
ptr = &n; // nã®äœæãptrã«ä»£å
¥
printf("nã®å€ = \t%d\n", n);
printf("nã®äœæ(1) = \t%p\n", &n);
printf("ptrã®å€ = \t%p\n", ptr); // ptrã¯nã®äœæãä¿æããŠãã
printf("nã®äœæ(2) = \t%p\n", ptr); // ptrã®å€ã¯nã®äœæãšåã
printf("ptrã®äœæ = \t%p\n", &ptr); // ãã€ã³ã¿å€æ°ptrèªèº«ã®äœæ
return 0;
}
å®è¡çµæã®äŸ:
nã®å€ = 57
nã®äœæ(1) = 0x22cb1c
ptrã®å€ = 0x22cb1c
nã®äœæ(2) = 0x22cb1c
ptrã®äœæ = 0x22cb10
ãã®äŸã§ã¯ãptr
ã n
ã®äœæãèšæ¶ããŠãããããptr
㯠n
ããæããŠããããšè¡šçŸãããŸãã
ãã€ã³ã¿å€æ° ptr
ãæã倿°ã®ãäžèº«ãã«ã¢ã¯ã»ã¹ãããããã®å€æ°ãæäœãããããã«ã¯ã鿥æŒç®å *
ããã€ã³ã¿å€æ°ã«ä»ããŸãã
ptr
ã x
ãæããŠãããšãã*ptr
㯠x
ã®**å¥åïŒãšã€ãªã¢ã¹ïŒ**ãšãªããŸããããã¯å€æ°ããå©çšãããšããã®è©±ã§ããã倿°ããæºåãããšããã®ãã€ã³ã¿å€æ°ã®å®£èšïŒint* ptr;
ã® *
ïŒãšã¯æå³ãç°ãªããŸãã
#include <stdio.h>
int main(void) {
int height;
int* pH; // intåã®ãã€ã³ã¿å€æ°pHãæºå
pH = &height; // pHã«heightã®äœæã代å
¥
printf("Input-->");
scanf("%d", &height); // scanfã§å©çšãã&ã¯ã¢ãã¬ã¹æŒç®å
// 鿥æŒç®å*pHã䜿ã£ãŠheightã®å€ã倿Žãã
// *pH 㯠height ã®å¥åãªã®ã§ãheight = height - (height % 10); ãšåãæå³
*pH = *pH - (*pH % 10);
printf("%d %d\n", height, *pH); // height ãš *pH ã¯åã倿°ãæããŠãããããå€ãåã
return 0;
}
*pH
ã height
ããå®äœã¯åã倿°ã§ããããšã«æ³šæããŸãããã
2. ãã€ã³ã¿ãšé¢æ°ã®é¢ä¿
颿°ãåŒã³åºãéã«ãåŒæ°ãšããŠãã€ã³ã¿ãæž¡ãããšã§ãåŒã³åºãå ã®å€æ°ã®å€ã颿°å ã§å€æŽã§ããããã«ãªããŸããããã¯åç §æž¡ãã®äžçš®ã§ããCèšèªã®é¢æ°ã®åŒæ°ã¯ãåºæ¬çã«å€æž¡ãïŒå®åŒæ°ã®ãå€ããä»®åŒæ°ã«ã³ããŒãããïŒã§ãããã¢ãã¬ã¹ãå€ãšããŠæž¡ãããšã§ã鿥çã«åŒã³åºãå ã®ã¡ã¢ãªé åãæäœã§ããã®ã§ãã
2.1. 颿°å ã§ã®å€ã®å€æŽ
#include <stdio.h>
// intåã®ãã€ã³ã¿ãåãåã颿°
void plus(int *ptr, int n) { // ä»®åŒæ°ptrã¯ãã€ã³ã¿å€æ°ãªã®ã§ãåã«*ãå¿
èŠ
*ptr = *ptr + n; // *ptr ã¯ptrãæã倿°ïŒåŒã³åºãå
ã®valïŒã®å¥å
}
int main(void) {
int val = 10;
int *pV = &val; // valã®äœæãpVã«ä»£å
¥
plus(pV, 5); // pVïŒvalã®äœæïŒãæž¡ã
printf("val: %d\n", val); // valã®å€ã倿ŽãããŠãã
val = 10; // valãåæå€ã«æ»ã
plus(&val, 5); // valã®äœæãçŽæ¥æž¡ãããšãå¯èœ
printf("val: %d\n", val); // valã®å€ã倿ŽãããŠãã
return 0;
}
å®è¡çµæ:
val: 15
val: 15
ãã®äŸã§ã¯ãplus
颿°ã val
ã®äœæãåãåãããã®äœæã«ãã倿°ïŒã€ãŸãval
èªèº«ïŒã®å€ã倿ŽããŠããŸãã
2.2. è€æ°ã®å€ãè¿ã颿°
éåžžã颿°ã¯äžã€ã®å€ããè¿ããŸããããããããã€ã³ã¿ãå©çšããããšã§ãè€æ°ã®å€ãåŒã³åºãå ã«è¿ããã®ããã«æäœã§ããŸãã
#include <stdio.h>
// 2ã€ã®æ°ã®åèšãšå·®ãèšç®ãããã€ã³ã¿ãéããŠçµæãè¿ã颿°
void sum_diff(double n1, double n2, double *pSum, double *pDiff) {
*pSum = n1 + n2; // pSumãæã倿°ïŒåŒã³åºãå
ã®sumïŒã«åèšã代å
¥
*pDiff = n1 - n2; // pDiffãæã倿°ïŒåŒã³åºãå
ã®diffïŒã«å·®ã代å
¥
}
int main(void) {
double v1 = 10.5;
double v2 = 5.5;
double sum;
double diff;
// sumãšdiffã®ã¢ãã¬ã¹ãæž¡ã
sum_diff(v1, v2, &sum, &diff);
printf("Sum: %g, Diff: %g\n", sum, diff);
return 0;
}
å®è¡çµæ:
Sum: 16, Diff: 5
ãã®ããã«ãåŒã³åºãå ã®é¢æ°ã§ãåŒã³åºãå ã®å€æ°ã®å€ãæäœããããšãå¯èœã«ãªããŸãã
2.3. ãã€ã³ã¿ãè¿ã颿°
颿°ããã€ã³ã¿ãè¿ãããšãå¯èœã§ããäŸãã°ãé åå ã®æå°å€ãæã€èŠçŽ ã®äœæãè¿ã颿°ãªã©ãèããããŸãã
#include <stdio.h>
// intåé
åxããæå°å€ãæ ŒçŽãããŠãã倿°ã®äœæãè¿ã颿°
int* min_p(int *x, int len) {
int min_idx = 0;
for (int i = 1; i < len; i++) {
if (x[min_idx] > x[i]) {
min_idx = i;
}
}
return &x[min_idx]; // æå°å€ã®èŠçŽ ã®äœæãè¿ã
}
int main(void) {
int x = {3, 2, 1, 4, 5};
int *p;
p = min_p(x, 5); // æå°å€ã®èŠçŽ ã®äœæãåãåã
// æå°å€ã®èŠçŽ ã®ã€ã³ããã¯ã¹ãšå€ã衚瀺
// (int)(p-x) ã¯ããã€ã³ã¿pãšé
åxã®å
é ã¢ãã¬ã¹ã®å·®ïŒèŠçŽ æ°ïŒãèšç®
printf("æå°ã¯ïŒ%dçªç®ã®%d\n", (int)(p - x), *p);
return 0;
}
å®è¡çµæ:
æå°ã¯ïŒ2çªç®ã®1
泚æç¹: 颿°å
ã§å®£èšãããããŒã«ã«å€æ°ã®äœæãè¿ãå Žåã颿°ã®å®è¡ãçµäºãããšãã®å€æ°ã¯ç Žæ£ããããããè¿ããããã€ã³ã¿ã¯ç¡å¹ã«ãªããŸãïŒãã³ã°ãªã³ã°ãã€ã³ã¿ïŒãåçã«ã¡ã¢ãªã確ä¿ããå ŽåïŒmalloc
ãªã©ïŒã¯ã颿°çµäºåŸãå©çšå¯èœã§ãããã¡ã¢ãªç®¡çã®ç¥èãå¿
èŠã«ãªããŸãã
3. ãã€ã³ã¿ãšé å
Cèšèªã«ãããŠãé åã¯ã¡ã¢ãªäžã«é£ç¶ããŠäžŠãã 倿°ã®éãŸãã§ãããã®ãããåèŠçŽ ã®äœæãé£ç¶ããŠäžŠãã§ããŸãã
3.1. é ååãšãã€ã³ã¿ã®é¢ä¿
é ååã¯ããã®é åã®å é ã¢ãã¬ã¹ãæããŸãã
#include <stdio.h>
int main(void) {
int vc = {10, 20, 30, 40, 50};
// é
ååvcãšå
é èŠçŽ ã®ã¢ãã¬ã¹&vcãåãããšã確èª
if (vc == &vc) {
printf("%p == %p\n", vc, &vc);
}
return 0;
}
å®è¡çµæã®äŸ:
0x22cb00 == 0x22cb00
3.2. ãã€ã³ã¿æŒç®
ãã€ã³ã¿å€æ°ã«å¯ŸããŠæŽæ°ãå ç®ã»æžç®ãããšããã®çµæã¯**äœæïŒã¢ãã¬ã¹ïŒ**ã«ãªããŸãããã®ãšãã®ã1ãã®åäœã¯ããã€ã³ã¿ãæãåã«ãã£ãŠç°ãªããŸããäŸãã°ãint*
ã« 1
ãå ãããšãsizeof(int)
ãã€ãã ãã¢ãã¬ã¹ãé²ã¿ãŸãã
#include <stdio.h>
int main(void) {
int cnt;
int intVal;
int *pInt = &intVal;
double doubleVal;
double *pDouble = &doubleVal;
char charVal;
char *pChar = &charVal;
// ååã®ãã€ã³ã¿ã«æŽæ°ãå ããŠã¢ãã¬ã¹ã®å€åã確èª
for (cnt = 0; cnt < 5; cnt++) {
printf("%d, %p, %p, %p\n",
cnt, pInt + cnt, pDouble + cnt, pChar + cnt);
}
return 0;
}
å®è¡çµæã®äŸ:
0, 0x13FC48, 0x13FC2C, 0x13FC17
1, 0x13FC4C, 0x13FC34, 0x13FC18 // intã¯4ãã€ããdoubleã¯8ãã€ããcharã¯1ãã€ããã€ã¢ãã¬ã¹ãé²ã
2, 0x13FC50, 0x13FC3C, 0x13FC19
3, 0x13FC54, 0x13FC44, 0x13FC1A
4, 0x13FC58, 0x13FC4C, 0x13FC1B
ãã®ãã€ã³ã¿æŒç®ã®ç¹æ§ã«ãããé åã®èŠçŽ ã«ç°¡åã«ã¢ã¯ã»ã¹ã§ããŸãã
3.3. é åèŠçŽ ãžã®ã¢ã¯ã»ã¹æ¹æ³
é åã®åèŠçŽ ãžã®ã¢ã¯ã»ã¹ã¯ã以äžã®3éãã®è¡šèšã§åãæå³ã«ãªããŸã:
-
é åå[æ·»å]
(æãäžè¬çã§æšå¥šããã衚èš) *(é åå + æ·»å)
-
ãã€ã³ã¿å€æ°[æ·»å]
(ãã€ã³ã¿å€æ°ãé åã®å é ãæããŠããå Žå)
#include <stdio.h>
int main(void) {
int cnt;
int vc = {10, 20, 30, 40, 50};
int *ptr;
ptr = &vc; // ptr = vc; ãšæžããŠãåãæå³
for (cnt = 0; cnt < 5; cnt++) {
printf("%d,\t%d, %p,\t%d, %p,\t%d, %p\n",
cnt,
vc[cnt], &vc[cnt], // é
åå[æ·»å]ã§ã®ã¢ã¯ã»ã¹ãšã¢ãã¬ã¹
*(ptr + cnt), (ptr + cnt), // ãã€ã³ã¿æŒç®ãšéæ¥æŒç®åã§ã®ã¢ã¯ã»ã¹ãšã¢ãã¬ã¹
ptr[cnt], &ptr[cnt]); // ãã€ã³ã¿å€æ°ãé
åã®ããã«æ±ã
}
return 0;
}
å®è¡çµæ:
0, 10, 0x19FCE4, 10, 0x19FCE4, 10, 0x19FCE4
1, 20, 0x19FCE8, 20, 0x19FCE8, 20, 0x19FCE8
2, 30, 0x19FCEC, 30, 0x19FCEC, 30, 0x19FCEC
3, 40, 0x19FCF0, 40, 0x19FCF0, 40, 0x19FCF0
4, 50, 0x19FCF4, 50, 0x19FCF4, 50, 0x19FCF4
äžèšã®ããã«ããã¹ãŠã®è¡šèšãåãçµæã瀺ãããšãããããŸãã
3.4. é åãæ±ã颿°ãšãã€ã³ã¿
颿°ã«é åãæž¡ãå Žåãå®éã«ã¯é åã®å é ã¢ãã¬ã¹ïŒå é ãã€ã³ã¿ïŒãæž¡ãããŸãããã®ãããä»®åŒæ°ãšããŠãé åããåãåã颿°ãšããã€ã³ã¿å€æ°ããåãåã颿°ã¯ãåãããã«åäœããŸãã
#include <stdio.h>
// ä»®åŒæ°ããã€ã³ã¿å€æ°ã§åãåã颿°
void printArray(int *d, int len) { // int d[] ãšæžããŠãåãæå³
int i;
for (i = 0; i < len; i++) {
// *(d+i) ãš d[i] ã¯åãæå³
printf("%d == %d\n", *(d + i), d[i]);
}
}
int main(void) {
int v = {10, 20, 30};
printf("%p == %p\n", v, &v); // vïŒé
ååïŒã¯å
é ã¢ãã¬ã¹
printArray(v, 3); // é
ååãæž¡ãïŒå
é ã¢ãã¬ã¹ãæž¡ãããïŒ
printArray(&v, 3); // å
é ã¢ãã¬ã¹ãæç€ºçã«æž¡ã
return 0;
}
å®è¡çµæ:
0x22cb10 == 0x22cb10
10 == 10
20 == 20
30 == 30
10 == 10
20 == 20
30 == 30
ãã®ããã«ã颿°ã«é åãæž¡ãéã«ã¯ãé ååïŒå é ã¢ãã¬ã¹ïŒãæž¡ãããšã§ã颿°å ã§é åã®èŠçŽ ãæäœã§ããŸãã
泚æç¹: äžè¬çãªããã°ã©ãã³ã°ã§ã¯ãé
åã®èŠçŽ ã«ã¢ã¯ã»ã¹ããéã¯ãé
åå[æ·»å]
ãã®è¡šèšã䜿çšããããšãæšå¥šãããŸãããã€ã³ã¿æŒç®ïŒ*(é
åå + æ·»å)
ïŒã¯ãé
åãšãã€ã³ã¿ã®é¢ä¿ãçè§£ããããã®ç·Žç¿ãšããŠåœ¹ç«ã¡ãŸãããã³ãŒãã®å¯èªæ§ãèæ
®ããŠã匷ãçç±ããªãéãã¯é¿ããã¹ãã§ãã
4. ãã€ã³ã¿ãšæåå
Cèšèªã«ã¯å°çšã®ãæåååãã¯ãããŸãããCèšèªã«ãããæååã¯ãæ«å°Ÿã«**NULLæåïŒ\0
ïŒ**ãæã€char
åã®é
åãšããŠæ±ãããŸãããã®\0
ã¯ãæååã®çµããã瀺ããçªå
µãã®ãããªåœ¹å²ãæãããŸãã
4.1. æååã®å®£èšãšåæå
æååïŒchar
é
åïŒã®åæåã«ã¯ã以äžã®æ¹æ³ããããŸã:
- åæåãåå¥ã«æå®ããæåŸã«
\0
ã远å ããæ¹æ³ - æååãªãã©ã«ïŒããã«ã¯ã©ãŒããŒã·ã§ã³ã§å²ãŸããæåå宿°ïŒã䜿çšããæ¹æ³
#include <stdio.h>
int main(void) {
// åæå1: charé
åãšããŠåæåãæç€ºçã«æå®
char s1[] = {'h', 'e', 'l', 'l', 'o', '\0'};
// åæå2: æååãªãã©ã«ã§åæåïŒèªåçã«\0ã远å ãããïŒ
char s2[] = "1234567";
printf("%s, %s\n", s1, s2); // %s ã¯æååã衚瀺ãã倿æå®å
return 0;
}
å®è¡çµæ:
hello, 1234567
4.2. æååã®ããŒããŒãå ¥å
æååã®å
¥åã«ã¯ãscanf
颿°ãfgets
颿°ãå©çšãããŸãã
scanf("%s", æåé
å)
: 空çœãŸã§ããèªã¿èŸŒã¿ãŸããã
scanf("%[^n]%*c", æåé
å)
: æ¹è¡ä»¥å€ã®æåãèªã¿èŸŒã¿ã空çœãå«ãäžè¡å
šäœãèªã¿èŸŒããŸãã
fgets(æåé
å, ãµã€ãº, stdin)
: æšæºå
¥åããæå®ãµã€ãºãŸã§èªã¿èŸŒã¿ãæ¹è¡æåãå«ãŸããŸãã
éèŠãªç¹ãšããŠãscanf
ãfgets
ã§æååãå
¥åããéãæåé
åã®åã« &
ãä»ããå¿
èŠã¯ãããŸãããããã¯ãé
ååèªäœãé
åã®å
é ã¢ãã¬ã¹ãæå³ããããã§ãã
4.3. ãã€ã³ã¿ã䜿ã£ãæååæäœ
æååãchar
åã®é
åã§ããããããã€ã³ã¿ãšé
åã®é¢ä¿ããã®ãŸãŸé©çšãããŸãããã€ã³ã¿æŒç®ãå©çšããŠæååãæäœããããšãå¯èœã§ãã
æååã®ã³ããŒäŸ
#include <stdio.h>
int main(void) {
char src; // ã³ããŒå
æåå
char dst; // ã³ããŒå
æåå
char *ptrSrc; // ã³ããŒå
ãæããã€ã³ã¿
char *ptrDst; // ã³ããŒå
ãæããã€ã³ã¿
printf("æååãå
¥åããŠãã ãã: ");
scanf("%s", src); // srcã®å
é ã¢ãã¬ã¹ãæž¡ã
ptrSrc = &src; // ptrSrcã«srcã®å
é ã¢ãã¬ã¹ã代å
¥
ptrDst = &dst; // ptrDstã«dstã®å
é ã¢ãã¬ã¹ã代å
¥
// srcã®çµç«¯(\0)ãŸã§ã«ãŒã
while (*ptrSrc != '\0') {
*ptrDst = *ptrSrc; // ptrSrcãæãæåãptrDstãæãå Žæã«ã³ããŒ
ptrSrc = ptrSrc + 1; // ptrSrcãæ¬¡ã®æåã®ã¢ãã¬ã¹ãžé²ãã
ptrDst = ptrDst + 1; // ptrDstãæ¬¡ã®æåã®æ ŒçŽå
ã¢ãã¬ã¹ãžé²ãã
}
*ptrDst = '\0'; // ã³ããŒå
ã®æååã®æ«å°Ÿã«NULLæåã远å
printf("ã³ããŒå
: %s, ã³ããŒå
: %s\n", src, dst);
return 0;
}
å®è¡çµæã®äŸ:
æååãå
¥åããŠãã ãã: Hello
ã³ããŒå
: Hello, ã³ããŒå
: Hello
ãã®ããã«ããã€ã³ã¿ãç§»åãããªããïŒptrSrc++
, ptrDst++
ïŒæåãäžã€ãã€ã³ããŒããŠããããšã§ãæååã®ã³ããŒãå®çŸã§ããŸãã
æšæºã©ã€ãã©ãªã«ã¯ãstrlen
ïŒæååé·ïŒãstrcmp
ïŒæå忝èŒïŒãstrcpy
ïŒæååã³ããŒïŒãstrcat
ïŒæååé£çµïŒãšãã£ãæååæäœé¢æ°ãçšæãããŠããŸããããã€ã³ã¿ã䜿ã£ãŠèªäœããŠã¿ãããšã§ãããæ·±ãçè§£ãåŸãããŸãã
5. åŠç¿ã®ãã³ããšæ³šæç¹
ãã€ã³ã¿ã®åŠç¿ã§ã¯ã以äžã®ç¹ã«æ³šæãããšçè§£ãæ·±ãŸããŸãã
- äžã€äžã€ãã£ãããšã远ãããããã: ã³ãŒãã®åè¡ãã¡ã¢ãªäžã§äœãããŠããã®ãã倿°ã®å€ããã€ã³ã¿ã®æãå ãã©ãå€åããã®ãããæéããããŠç¢ºèªããŸãããã
- 暪çãããèªåã®æã§ãå³ãæžããã: 倿°ã®ç®±ãšäœæããã€ã³ã¿ã®ç¢å°ãªã©ãå³ã«æžãèµ·ããããšã§ãé ã®äžã®ã€ã¡ãŒãžãæŽçãããæ£ç¢ºãªçè§£ã«ã€ãªãããŸãã
- ãçºãããã®ã§ã¯ãªããèªã¿è§£ããã: ãµã³ãã«ã³ãŒãããã èŠãã ãã§ãªããåè¡ã®æå³ããã€ã³ã¿ãäœãæå³ããŠããã®ããç©æ¥µçã«è§£éããããšåªããŸãããã
- ãã€ã³ã¿ã®å¿ èŠæ§ãååã«èãã: äœã§ãããã§ããã€ã³ã¿ãçšããã°è¯ããšããããã§ã¯ãããŸããããã€ã³ã¿ã䜿ãã¹ããåŠãããŸãå©çšããå¿ èŠããããåŠããååã«èããŸãããã
-
é
åã®èŠçŽ ãžã®ã¢ã¯ã»ã¹ã¯ã
é åå[æ·»å]
ã衚èšãåºæ¬ãšãã: å¯èªæ§ã®èгç¹ãããç¹å¥ãªçç±ããªãéãã¯ãé åå[æ·»å]
ã®è¡šèšã䜿çšããŸãããããã€ã³ã¿æŒç®åïŒ*(é åå+æ·»å)
ïŒã¯ããã€ã³ã¿ãšé åã®é¢ä¿ãçè§£ããããã®ç·Žç¿ãšããŠã¯æçšã§ãããå®çšçãªã³ãŒãã§ã¯èª€è§£ãæãå¯èœæ§ããããŸãã
ãã€ã³ã¿ã¯Cèšèªã®åŒ·åãªæ©èœã§ãããã¡ã¢ãªç®¡çãããŒã¿æ§é ã®çè§£ã«äžå¯æ¬ ã§ããçŠãããäžèšã®ã¢ããã€ã¹ãå®è·µããªãããçå®ã«ãã¹ã¿ãŒããŠãããŸãããã
Discussion