• Keine Ergebnisse gefunden

Adresse 2 har [5

N/A
N/A
Protected

Academic year: 2021

Aktie "Adresse 2 har [5"

Copied!
1
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

WolfgangKaier/MihaelMattes Blatt4

A

Systemnahe Software I

im Wintersemester 2009/2010

Abgabetermin:10.November2009

10 Zeigereien (15 Punkte)

IndieserAufgabensollenSiesihdemUmgangmitZeigernveranshaulihen.Versuhen Sie

hierbei,dieWirkungfolgendervierOperatorenzuverstehen:

DerGröÿenoperatorsizeof,derArray-Zugrisoperator[℄,derAdressoperator&sowieder

Zeiger-Dereferenzierungsoperator * (auhIndirektionsoperator genannt). Auh wenn sie das

gleiheZeihenbenutzen,solltendieletztenbeidenOperatorennihtmitdembitweisenUnd-

OperatoroderdemMultiplikationsoperatorverwehseltwerden!

SiesolleninderLagesein,auseinerSpeihertabelleundeinigenVariablennameneinfahe

AusdrükeimKopfauszuwerten.EinBeispielhierzundenSiehier:

Alle Angaben sind dezimal!

Variablen:

har a = 12; // liegt in Adresse 1

har b; // Adresse 2

har [5℄; // ab Adresse 4

har *d; // liegt in Adresse 9

har *e; // Adresse 10

har *f[3℄; // ab Adresse 11

har **g; // Adresse 20

int h; // 4 Bytes gross, ab Adresse 15

Speiherbelegung:

Adresse Wert Adresse Wert

0 -

1 12 11 19

2 5 12 7

3 33 13 0

4 200 14 100

5 71 15 30

8 74 18 13

9 1 19 37

10 5 20 1

Beispielaufgaben mit Loesung:

Welhen Wert hat jeder Ausdruk?

Ausdruk Loesung Ausdruk Loesung

a 12 4

d 1 * 200

*d 12 &[0℄ 4

&b 2 [1℄ 71

*(&b) 5 *+2 202

*((&b)+1) 33 *(-1) 33

*g 12 *(+2) 172

**g 7 &f[0℄ 11

&e 10 **(f+1) 73

*f[0℄ 37 f[2℄ 0

sizeof(a) 1 *f[2℄ !!!!

sizeof(h) 4 sizeof() 5

Hinweis:ZeigersindaufdenmeistenheuteverwendetenMashinenmindestens4Bytegross,

niht1.DasobenangegebeneBeispielistnureineVereinfahung!

Hinweis 2: Wenn ein Zeiger den Wert 0 (gleihbedeutend mit NULL) hat, darf er niht

dereferenziert werden. Dies würde zu einer Speihershutzverletzung(segementation fault /

violation) führen, was den sofortigen Abbruh des Programms zur Folge hat. Im Fall von

TreibernwürdediesdenausWindowsbekanntenBluesreenbedeuten.

Hinweis3:CwarntSieinmanhenFällen,fallsSieaufungewöhnliheWeisemitZeigern

umgehen.IneinemehtenProgrammmüsstenSiebeispielsweiseeinenTypeastmahen,wenn

SieeinenZeigereinerint-Variablezuweisenwollen.IgnorierenSiesolheWarnungenniht,ohne

zumindesteinenzweitenBlikaufdiebetreendeStelleimCodezuwerfen!

11 Sortieren mit Zeigern (6 Punkte)

ZeigenSieIhreerworbenenKenntnisse,indemSiedenSortieralgorithmusvomletztenBlattin

eineeigeneFunktionauslagern.DiesesollallerdingsmitZeigernarbeitenundunabhängigvon

derGröÿedeseingelesenenArrayssein!

Hinweis:DieempfohleneSignaturderHilfsfunktionlautet:

void bsort(int* anfang, int laenge);

VielErfolg!

Referenzen

ÄHNLICHE DOKUMENTE

Im nachfolgenden Kapitel 3 wird ein umhüllendes Untersuchungsprogramm vorgestellt, um die Zielsetzungen, die sich aus dem Konzept der Standortuntersuchungen für SGT-E3 (Nagra

Chen [8], [9] erzielt in einigen Spezialf¨ allen f¨ ur nicht reversible MKen hinreichende Bedingungen f¨ ur die Existenz einer Spektrall¨ ucke und zeigt dar¨ uber hinaus, dass f¨

Lions, Quelques m´ ethodes de r´ esolution des probl` emes aux limites non lin´ eares, Dunot, Paris 19692. Zeidler, Nonlinear Functional Analysis and its Applications, Vol

höhe der Sonne befand sich die Scholle um Mittag in 6 40 19' nördlicher Breite; sie hatte daher während der beiden letzten Tage sich 13 Meilen nach Süden

geIr Berdan erbauen apabe zu. eh svenfen

• Wählen Sie dazu im Hauptmenü Folie > Folienvorlage oder klicken Sie im Folienbereich mit der rechten Maustaste auf eine Folie und wählen im Kontextmenü Folienvorlage, um den

In der BRD wie der DDR fachten exotisierende Wissensbestände und kolo- niale Vorstellungswelten die Abenteuerlust an.Von einigen Interviewpartnern der DDR-Seite

– wenn die beiden Punkte einer zu zeich- nenden Geraden m¨ oglichst weit auseinan- der liegen (verwende gegebenenfalls Hilfs- punkte im Karomuster des Heftes) – wenn sich die