Skillnad mellan versioner av "Kap 10 Pekare (34)"
Taifun (Diskussion | bidrag) m |
Taifun (Diskussion | bidrag) m |
||
Rad 37: | Rad 37: | ||
− | = <span style="color:#931136">Frågor om pekare</span></b> = | + | = <b><span style="color:#931136">Frågor om pekare</span></b> = |
<div class="ovnC"> | <div class="ovnC"> | ||
<big> | <big> |
Versionen från 15 november 2023 kl. 08.05
Ons 15 nov, kl 9-12
<< Agenda | Genomgång 34 | Övningar 34 | Planering | Nästa lektion >> |
Genomgång av övn 10.8 & 10.9
Repetition av kap 10 Pekare
- Gå igenom genomgångarna om pekare, lektionerna 29-34.
- Lusläs koderna i programexemplen, experimentera med dem.
- Gör övningarna du inte hunnit göra.
- Läs texten:\( \qquad\qquad\;\;\, \)\( \qquad\qquad\;\;\, \)
Frågor om pekare
Besvara nedanstående frågor. Svar till alla frågor kan du hitta i texten ovan.
Skriv gärna dina svar i ett textdokument.
Ingen inlämning krävs. Arbeta gärna gruppvis.
1) Med vilken kod allokeras minne för vanliga variabler?
2) Nämn tre saker som händer när man deklarerar och initierar variabler av enkel datatyp.
3) Är "pekare" en datatyp?
4) Är pekare-till-int en enkel eller en sammansatt datatyp? Eller inget av dem?
5) Varför kan man kalla pekaren för ett parallellt system? Parallellt till vad?
6) Är pekare ett nytt koncept som har kommit till när C++ skapades?
7) Hur ska man tolka talesättet "p pekar på a"?
8) Kan pekaren ersätta namnet till en vanlig variabel?
9) Om 5 är värdet till en int-variabel, vad är då "värdet" av en pekare som pekar på a?
10) Kan adressoperatorn & skrivas framför en deklarerad, men oinitierad vanlig variabel?
11) Kan adressoperatorn & skrivas framför en pekarvariabel? Om ja, vad är resultatet?
12) Vad är fördelen med att använda hexadecimala tal för representation av adresser?
13) Hur många bytes behövs för lagring av adresser?
14) Kan man initiera en pekarvariabel utan att ha deklarerad en vanlig variabel?
15) På sid 276 i kursboken (sid 5 i texten "Kap 10 Pekare") finns det skrivfel.
- Kan du hitta dem?
16) Vilka två betydelser har asterisken * i pekarsammanhang?
17) Vad är den inversa operatorn till adressoperatorn & ?
18) Kan värdeoperatorn * skrivas framför en vanlig variabel?
19) Vad betyder *(&vanligVar)?
20) Vad betyder &(*pekarVar)?
21) Kan värdeoperatorn tillämpad på en pekare ersätta namnet på en vanlig variabel?
22) Om svaret på frågan 21 ovan är ja, vad är förutsättningen för det?
23) Om adressen till platsen där en bil är parkerad, kan jämföras med pekaren till en
- vanlig variabel, vilken annan information om bilen som identifierar bilen, kan jämföras
- med den vanliga variabeln?
24) Vad gör satsen int *pekInt = new int; ?
25) Vad händer om man efter satsen i fråga 24 ovan skriver *pekInt = 78; ?
26) Hur kan man modifiera satsen i fråga 24, för att inkludera i den satsen i fråga 25?
27) Är arrayen som skapas i satsen int *no = new int[4]; redan initierad?
28) Vad ersätts en arrays indexering av, om den skapas av new?
29) Om man skickar en array av char som aktuell parameter till en funktion, kan den
- formella parametern vara av en annan datatyp? I så fall vilken?
30) Vad avgör vilken metod för parameteröverföring C++ väljer vid anrop av funktioner?
31) När tillämpas automatiskt värdeanrop och när referensanrop vid överföring av
- en funktions parametrar?
32) Vad är skillnaden mellan värde- och referensanrop?
33) Redogör för- och nackdelarna av arraynotation gentemot pekarnotation?
34) Kan man blanda array- och pekarnotation i ett C++ program?
35) Varför har man i andra universella programmeringsspråk som t.ex. C#, Java, Python, ...
- avskaffat pekarkonceptet?
Gå vidare till: när du är klar med denna genomgång.
Copyright © 2023. All Rights Reserved.