DAVID J. MALAN: Anta at vi ønsker å skrive et program som ber alle i et rom for deres alder, og deretter utskrifter ut hvor gammel disse menneskene vil være en år derav? Nå, åpenbart den aritmetiske for dette problemet kommer til å være ganske ukomplisert. Men det interessante spørsmålet er, hvis vi vet ikke på forhånd hvor mange mennesker kommer til å være i dette rommet, hvor kunne vi gå om lagring alle deres alder? Vel, la oss ta en titt. 

La oss begynne med å først spørre bruker, som jeg har gjort her, for den antall personer i rommet ved hjelp getInt og en do-while-loop for å få et heltall n. Anta at vi nå ønsker å spørre hver slik person i rommet for deres alder. Vel, ville mine instinkter være å bruke en sløyfe for å gjøre det å spørre, men jeg har også trenger et sted å oppbevare disse folks aldre. Og mine første instinkter det ville være å bruke en variabel for den første personens alder, en annen variabel for den andre personens alder, liksom langs linjene. Int alder - vel, la oss kalle det en for den første personen. Int alder 2 for den andre personen. Int alder 3 for den tredje personen. 

Men vent litt, er dette kanskje ikke den beste veien å gå ned. Fordi jeg ikke vet på forhånd om å skrive og kompilere dette programmet hvordan mange brukere der ute kommer til å være. Og dessuten, hvis det er så mange som 100 brukere, erklærte 100 variabler slags merkelig navn som dette ikke føler meg som den aller beste design. 

Vel, heldigvis finnes det en annen type variabel kalles en matrise som tillater oss å lagre en rekke ints innsiden av det, selv om man ikke kjenner når du skriver mitt program hvor mange slike ints vi kommer til å trenge. Så la oss backtrack og slette disse flere ints, og i stedet erstatte den med en variabel kalt, si, aldre, flertall. Men la oss videre spesifisere på denne linjen av koden i hakeparentes som vi vil n ints. Og derfor vil vi kollektivt referere til disse ints som aldre. 

I løpet av et øyeblikk vil jeg være i stand til å få på hver av de ints i denne matrise på lignende måte ved hjelp av hakeparentes notasjon, som starter på 0. Så la oss fortsette nå i en sløyfe til ber brukerne for deres alder. For int får jeg 0. I er mindre enn N, antall personer i rommet, jeg pluss pluss. 

Og nå innenfor denne sløyfen, la oss si printf alder av person nummer, prosent jeg er en plassholder, komma. Og nå, i stedet for å begynne å telle fra 0 i selve programmet, la oss på Minst tilvekst I ved en, slik at en normal person som bruker dette programmet trenger ikke å telle som en datamaskin vitenskaps makt. La oss nå gjøre aldre, brakett jeg, og dermed spesifiserer at i-te alder i vår spekter av aldre kommer til å få returverdien av getInt. 

Nå under denne sløyfen, la oss fortsette å anta at noen tiden går. Og la oss nå fortsette i en annen sløyfe til faktisk alder alle i rommet med ett år. Så igjen, for int jeg får 0, er jeg mindre enn N, antall personer i rom, jeg pluss pluss. 

Og nå inne i denne sløyfen, la oss si printf et år fra nå person nummer, prosent Jeg er en plassholder, vil være, er prosent jeg en annen plassholder, år gammel. Og deretter å plugge inn de plassholdere, la oss først si jeg pluss En, slik at vi igjen begynne å telle for brukeren fra en. Og så la oss plugge i den personens alder som aldre brakett jeg pluss en, og dermed spesifiserer farten få i-th alder i vår spekter av aldre, legger en til den, og deretter setter den summen inn i vår plassholder, nære paren, semikolon. 

La oss nå kompilere dette programmet med make aldre, og la oss kjøre den med prikk slash aldre. Og anta at det er bare tre mennesker i rommet, og noen er 18, noen er 19, noen er 20.. Vel, i et år, hver av de folkene kommer til å være 19, 20, og 21, respektivt.