ͭΒ͔ͬͨͱ͜Ζ
• ΞηϯϒϦ͕͔Βͳ͍ɻ
• ΞηϯϒϦΛॻ͘ͷॳΊͯɻ
• lea ͬͯͳʹɻ
• C ͷݴޠ༷͕͔Βͳ͍ɻ
• C ͷݴޠ༷ΛಡΉͷʢ΄΅ʣॳΊͯɻ
• ൚֦ுͬͯͳʹɻ
12
Slide 20
Slide 20 text
C ݴޠ༷ͷ͕͜͜ΩϞ͍ʂ
• ϙΠϯλ͕ΩϞ͍ʂ
• int* p, q; ͷ q int
• ؔએݴ͕ΩϞ͍ʂ
• int foo(); ͱ int foo(){...} ͱ
int foo; ͷ۠ผɻ
• ՄมҾ͕ΩϞ͍ʂ
• va list ͱ͔ va start() ͱ͔ɻ
• va list ͷఆٛͱ͔ͬͯ·͢ʁ
13
Slide 21
Slide 21 text
ଓɾC ݴޠ༷ͷ͕͜͜ΩϞ͍ʂ
• switch ͕ΩϞ͍ʂ
• if-else ͱ͍͏ΑΓ࣮࣭ goto
switch (1) {
int a = 2;
case 3:
1; int b = 5;
break;
case 1:
a = 1; b = 0;
default:
printf("%d␣%d", a, b); // 1 0
}
14
Slide 22
Slide 22 text
ଓʑɾC ݴޠ༷ͷ͕͜͜ΩϞ͍ʂ
• ߏମఆ͕ٛΩϞ͍ʂ
• ߏମఆٛ int type-specifier ͳͷ
Ͱಉ͡ͱ͜Ζʹॻ͚Δɻ
struct hogehoge {
int piyopiyo;
} foobar ();
int foobar ();
15
Slide 23
Slide 23 text
ଓʑɾC ݴޠ༷ͷ͕͜͜ΩϞ͍ʂ
• ߏମఆ͕ٛΩϞ͍ʂ
• ߏମఆٛ int type-specifier ͳͷ
Ͱಉ͡ͱ͜Ζʹॻ͚Δɻ
struct hogehoge {
int piyopiyo;
};
int;
15