Slide 1

Slide 1 text

QPUBUPUJQT ڭ͑ͯʂ9DPEF ΅ͬͪήʔϜσϕϩού ੢ࢁ৴ߦ

Slide 2

Slide 2 text

wʮͱ͖Ͳ͖࣮੷͕ղআ͞Εͳ͍ʯͱ༑ਓ͔Βใ ࠂ͞ΕΔ ࣄͷൃ୺

Slide 3

Slide 3 text

w(BNF$FOUFSͷୡ੒߲໨ͬͯৄࡉ͕Ӆṭ͞Εͯ Δ͠ɺ௨৴ঢ়گ͕ѱ͔ͬͨͱ͔ͦΜͳΜͰ͠ΐ ͏ w ͳΜͱͳ͘ΩϟογϡΛ࣮૷͓ͯ͘͠ ౰࣌ͷ෼ੳ

Slide 4

Slide 4 text

͜ͷ࣌͸͜ΕͰղܾͩͱʜ QPUBUPUJQT

Slide 5

Slide 5 text

w"EESFTT4BOJUJ[FS͝ଘ஌Ͱ͔͢ʁ w 9DPEF͔Β͋Γ·͢ 9DPEFͷศརͳػೳ

Slide 6

Slide 6 text

wTBOJUJ[F w ࿨Β͛Δɺ৺஍Α͘͢Δ w Ӵੜతʹ͢Δ "EESFTT4BOJUJ[FSʁ

Slide 7

Slide 7 text

wϏϧυ͸௨Δ͕࣮ߦ࣌ͷڍಈ͕ո͍͠΍ͭ w͜͏͍ͬͨϛεΛ࣮ߦ࣌ʹݕग़ͯ͠ৄࡉͳϩά Λग़ྗͯ͘͠ΕΔ ྫ͑͹͜Μͳϛε int main() { int array[10]; int i = -1; // おっと!! array[i] = 0; }

Slide 8

Slide 8 text

wϓϩάϥϜ্Ͱͷແ๳ͳϝϞϦΞΫηεΛڭ͑ͯ͘ΕΔ w0CKFDUJWF$ͰͷΈ໾ཱͭ νΣοΫϘοΫεʹνΣοΫΛೖΕΔ͚ͩʂ

Slide 9

Slide 9 text

w͜͏͍͏ͷ΋ڭ͑ͯ͘ΕΔ ϛε͸͠Όʔͳ͍ #include int main() { int array[9] = {}; // 配列の内容を出力 for (int i = 0; i < 10; ++i) { std::cout << array[i] << "\n"; } }

Slide 10

Slide 10 text

ͬͪ͜͸ͳΜͩΖ͏ʜ

Slide 11

Slide 11 text

w͜ΕͰσόοάͯ͠ΈΔ ࢼ͠ʹ0/ʹͯ͠Έͨ

Slide 12

Slide 12 text

࣮੷Λૹ৴͢ΔஈͰࢭ·ͬͨ QPUBUPUJQT

Slide 13

Slide 13 text

ݪҼͱղઆ #include int* getArray() { int array[10]; return array; // ローカル変数arrayはここで消滅する } int main() { // 配列の場所を受け取る int* array = getArray(); // 配列の内容を出力 for (int i = 0; i < 10; ++i) { std::cout << array[i] << "\n"; } }

Slide 14

Slide 14 text

w9DPEFͷ"EESFTT4BOJUJ[FS͸௒པΓʹͳ Δʂ ·ͱΊ

Slide 15

Slide 15 text

w"EESFTT4BOJUJ[FSͰಠࣗ'SBNFXPSLͷϝϞ ϦΤϥʔΛݕग़͢Δ w IUUQTRJJUBDPN4$&/&&JUFNT EFBDED ࢀߟࢿྉ

Slide 16

Slide 16 text

w5XJUUFS!NJOHBNF w'BDFCPPLNJOHBNF w(JU)VCUFLOJTIJ ࣍ͷΞοϓσʔτͰ௚͠·͢ʂ ʮύζϧˍϞφʔΫʯ ޷ධ഑৴தʂ