DAVID J. MALAN: Antag att vi vill skriva ett program som frågar alla i ett rum för sin ålder, och sedan skriver ut hur gamla dessa människor kommer att vara en år framåt? Nu, uppenbarligen det aritmetiska för detta Problemet kommer att bli ganska okomplicerad. Men den intressanta frågan är, om vi vet inte i förväg hur många människor kommer att vara i det här rummet, hur kunde vi gå om att lagra alla deras åldrar? Nåväl, låt oss ta en titt. Låt oss börja med att först föranledde användare, som jag har gjort här, för Antalet personer i rummet med hjälp av getInt och en gör-while-slinga för att få ett heltal n. Antag att vi nu vill be varje sådan person i rummet för deras ålder. Tja, skulle min instinkt vara att använda en slinga för att göra det att fråga, men jag också behöver en plats att lagra dessa människors åldrar. Och min första instinkt skulle det finnas att använda en variabel för den första personens ålder, en annan variabel för den andra personens ålder, slags längs linjerna. Int ålder - väl, låt oss kalla det en för den första personen. Int ålder 2 för den andra personen. Int ålder 3 för den tredje personen. Men vänta lite, är det kanske inte den bästa vägen att gå. Eftersom jag inte vet i förväg skriva och sammanställa detta program hur många användare det kommer att bli. Och dessutom, om det finns så många som 100 användare, förklarar 100 variabler slags märkligt namngivna som detta inte känns som den allra bästa designen. Jo, tack och lov finns det en annan typ av variabel som kallas en matris som tillåter oss att lagra valfritt antal ints inne i det, även om vi inte vet när du skriver mitt program hur många sådana ints vi kommer att behöva. Så låt oss gå tillbaka och ta bort dessa flera ints och istället ersätta den med en variabel som heter, säga, åldrar, plural. Men låt oss ytterligare specificera på denna linje av kod inom hakparenteser som vi vill n ints. Och därför kommer vi kollektivt hänvisa till dessa ints som åldrar. Nu på bara ett ögonblick jag kommer att kunna få vid vardera av de ints i denna matris på samma sätt med hjälp av hakparentes notation, med början på 0. Så låt oss gå vidare nu i en slinga till uppmanar användarna för deras ålder. För int jag får 0. Jag är mindre än N, antalet personer i rummet, jag plus plus. Och nu i denna slinga, låt oss säga printf ålder av personnummer, procent I är en platshållare, kommatecken. Och nu, i stället för att börja räkna från 0 i programmet själv, låt oss på Minst ökning I med 1, så att en normal person som använder det här programmet behöver inte räkna som en datavetare kanske. Låt oss nu göra åldrar, fäste jag, på så sätt som anger att det i: te ålder i vår utbud av åldrar kommer att få returvärde getInt. Nu under denna slinga, låt oss gå vidare att anta att en viss tid passerar. Och låt oss nu gå vidare i en annan slinga att faktiskt åldras alla i rummet med ett år. Så återigen, om int jag får 0, är ​​jag mindre än N, antalet personer i rum, jag plus plus. Och nu inne i denna slinga, låt oss säga printf ett år från nu personnummer, procent Jag är en platshållare, kommer vara, är procent jag en annan platshållare, år gammal. Och sedan för att koppla in dem platshållare, låt oss först säga att jag plus 1, så att vi återigen börjar räkna för användaren från 1. Och sedan ska vi koppla in den personens ålder som åldrar fäste jag plus 1, och därigenom specificera gå få den i: te ålder i vår utbud av åldrar, tillsätt 1 till den, och sedan sätt in den summan i vår placeholder, nära paren, semikolon. Låt oss nu kompilera programmet med make åldrar, och låt oss köra den med prick slash åldrar. Och antar att det bara finns tre personer i rummet, och någon är 18, någon som är 19, är någon 20. Tja, i ett år, var och en av de folks kommer att vara 19, 20, och 21, respektive.