8. Funktionen mit Arrays

8. Funktionen mit Arrays Motivation Call by Value als Übergabetechnik kommt nur bei einfachen Variablen zum Einsatz. Das Anlegen von "Kopien" ist da...
Author: Gerrit Solberg
4 downloads 3 Views 90KB Size
8. Funktionen mit Arrays

Motivation Call by Value als Übergabetechnik kommt nur bei einfachen Variablen zum Einsatz. Das Anlegen von "Kopien" ist da akzeptabel. Bei Arrays ist es dagegen weniger sinnvoll, da Arrays oft viel Speicherplatz belegen. Daher werden in diesem Fall der Funktion durch den Compiler alle relevanten Informationen über das Array übermittelt, um mit den Originaldaten arbeiten zu können. Kopien sind damit überflüssig. Man benötigt daher in einer Funktion: 1) 2) 3) 4)

Die Information, dass es sich um ein Array handelt: [] angeben Die Länge eines Arrayelements: ergibt sich aus demTyp Die Anfangsadresse des Arrays: ->erledigt der Compiler (da Array) Zugriff auf Arrayelemente: wie bisher mittels Index

Der Zugriff auf eiArrayelement erfolgt über dessen Adresse gemäß Adresse = Anfangsadresse(Array) + Index * Länge eines Elements Da diese Angaben der aufrufenden Funktion übermittelt werden, kann mit den „Originaldaten“ gearbeitet werden. Der Index ist dann üblicherweise eine lokale Größe der Funktion. Dr. Norbert Spangler /Programmieren

25.11.2016

2

Einfache Beispiele void arrayin ( int n, char p_x[]) // Definition {//Array lesen for (int i=0;i>p_x[i]; } void arrayout ( int n, char p_x[]) {//Array ausgeben cout