CINXE.COM
Funktion (Programmierung) – Wikipedia
<!DOCTYPE html> <html class="client-nojs" lang="de" dir="ltr"> <head> <meta charset="UTF-8"> <title>Funktion (Programmierung) – Wikipedia</title> <script>(function(){var className="client-js";var cookie=document.cookie.match(/(?:^|; )dewikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":[",\t.",".\t,"],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],"wgRequestId":"a67a420f-7fab-4056-8c8e-c82858851c97","wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Funktion_(Programmierung)","wgTitle":"Funktion (Programmierung)","wgCurRevisionId":243847620,"wgRevisionId":243847620,"wgArticleId":151607,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null, "wgUserGroups":["*"],"wgCategories":["Programmierkonzept","Unterprogramm","Programmiersprachelement"],"wgPageViewLanguage":"de","wgPageContentLanguage":"de","wgPageContentModel":"wikitext","wgRelevantPageName":"Funktion_(Programmierung)","wgRelevantArticleId":151607,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgNoticeProject":"wikipedia","wgCiteReferencePreviewsActive":true,"wgFlaggedRevsParams":{"tags":{"accuracy":{"levels":1}}},"wgStableRevisionId":243847620,"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"de","pageLanguageDir":"ltr","pageVariantFallbacks":"de"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":true,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":9000,"wgRelatedArticlesCompat":[],"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage", "wgULSisCompactLinksEnabled":true,"wgVector2022LanguageInHeader":false,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q15810910","wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"],"GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false,"wgGEStructuredTaskRejectionReasonTextInputEnabled":false,"wgGELevelingUpEnabledForUser":false};RLSTATE={"ext.gadget.citeRef":"ready","ext.gadget.defaultPlainlinks":"ready","ext.gadget.dewikiCommonHide":"ready","ext.gadget.dewikiCommonLayout":"ready","ext.gadget.dewikiCommonStyle":"ready","ext.gadget.NavFrame":"ready","ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.pygments":"ready","skins.vector.styles.legacy":"ready","ext.flaggedRevs.basic":"ready","mediawiki.codex.messagebox.styles":"ready", "ext.visualEditor.desktopArticleTarget.noscript":"ready","codex-search-styles":"ready","ext.uls.interlanguage":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["ext.pygments.view","site","mediawiki.page.ready","mediawiki.toc","skins.vector.legacy.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.flaggedRevs.advanced","ext.gadget.createNewSection","ext.gadget.WikiMiniAtlas","ext.gadget.OpenStreetMap","ext.gadget.CommonsDirekt","ext.gadget.donateLink","ext.urlShortener.toolbar","ext.centralauth.centralautologin","ext.popups","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.compactlinks","ext.uls.interface","ext.cx.eventlogging.campaigns","ext.checkUser.clientHints","ext.quicksurveys.init","ext.growthExperiments.SuggestedEditSession","wikibase.sidebar.tracking"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=de&modules=codex-search-styles%7Cext.flaggedRevs.basic%7Cext.pygments%2CwikimediaBadges%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cmediawiki.codex.messagebox.styles%7Cskins.vector.styles.legacy%7Cwikibase.client.init&only=styles&skin=vector"> <script async="" src="/w/load.php?lang=de&modules=startup&only=scripts&raw=1&skin=vector"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=de&modules=ext.gadget.NavFrame%2CciteRef%2CdefaultPlainlinks%2CdewikiCommonHide%2CdewikiCommonLayout%2CdewikiCommonStyle&only=styles&skin=vector"> <link rel="stylesheet" href="/w/load.php?lang=de&modules=site.styles&only=styles&skin=vector"> <meta name="generator" content="MediaWiki 1.44.0-wmf.5"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="Funktion (Programmierung) – Wikipedia"> <meta property="og:type" content="website"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//de.m.wikipedia.org/wiki/Funktion_(Programmierung)"> <link rel="alternate" type="application/x-wiki" title="Seite bearbeiten" href="/w/index.php?title=Funktion_(Programmierung)&action=edit"> <link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"> <link rel="icon" href="/static/favicon/wikipedia.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikipedia (de)"> <link rel="EditURI" type="application/rsd+xml" href="//de.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://de.wikipedia.org/wiki/Funktion_(Programmierung)"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de"> <link rel="alternate" type="application/atom+xml" title="Atom-Feed für „Wikipedia“" href="/w/index.php?title=Spezial:Letzte_%C3%84nderungen&feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="//login.wikimedia.org"> </head> <body class="skin-vector-legacy mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject mw-editable page-Funktion_Programmierung rootpage-Funktion_Programmierung skin-vector action-view"><div id="mw-page-base" class="noprint"></div> <div id="mw-head-base" class="noprint"></div> <div id="content" class="mw-body" role="main"> <a id="top"></a> <div id="siteNotice"><!-- CentralNotice --></div> <div class="mw-indicators"> </div> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Funktion (Programmierung)</span></h1> <div id="bodyContent" class="vector-body"> <div id="siteSub" class="noprint">aus Wikipedia, der freien Enzyklopädie</div> <div id="contentSub"><div id="mw-content-subtitle"></div></div> <div id="contentSub2"></div> <div id="jump-to-nav"></div> <a class="mw-jump-link" href="#mw-head">Zur Navigation springen</a> <a class="mw-jump-link" href="#searchInput">Zur Suche springen</a> <div id="mw-content-text" class="mw-body-content"><div class="mw-content-ltr mw-parser-output" lang="de" dir="ltr"><p>Eine <b>Funktion</b> (<span style="font-style:normal;font-weight:normal"><a href="/wiki/Englische_Sprache" title="Englische Sprache">englisch</a></span> <span lang="en-Latn" style="font-style:italic"><i>function</i></span>) ist in der <a href="/wiki/Informatik" title="Informatik">Informatik</a> und in verschiedenen <a href="/wiki/H%C3%B6here_Programmiersprache" title="Höhere Programmiersprache">höheren Programmiersprachen</a> die Bezeichnung eines Programmkonstrukts, mit dem der <a href="/wiki/Programmcode" title="Programmcode">Programm-Quellcode</a> <a href="/wiki/Strukturierte_Programmierung" title="Strukturierte Programmierung">strukturiert</a> werden kann, so dass Teile der <a href="/wiki/Funktionalit%C3%A4t_(Produkt)" title="Funktionalität (Produkt)">Funktionalität</a> des <a href="/wiki/Computerprogramm" title="Computerprogramm">Programms</a> <a href="/wiki/Wiederverwendbarkeit" title="Wiederverwendbarkeit">wiederverwendbar</a> sind. Das besondere Merkmal einer Funktion (im Vergleich zum ähnlichen Konstrukt der <a href="/wiki/Prozedur_(Programmierung)" title="Prozedur (Programmierung)">Prozedur</a>) ist, dass die Funktion ein Resultat direkt zurückgibt und deshalb in <a href="/wiki/Ausdruck_(Programmierung)" title="Ausdruck (Programmierung)">Ausdrücken</a> verwendet werden kann. Die genaue Bezeichnung und Details ihrer Ausprägung sind in verschiedenen <a href="/wiki/Programmiersprache" title="Programmiersprache">Programmiersprachen</a> durchaus unterschiedlich. </p><p>Funktionen gelten als spezielle Varianten von <a href="/wiki/Unterprogramm" title="Unterprogramm">Unterprogrammen</a>. </p><p>Nicht zu verwechseln ist das Programmkonstrukt ‚Funktion‘ mit anderen Bedeutungen des Ausdrucks ‚<a href="/wiki/Funktion" class="mw-disambig" title="Funktion">Funktion</a>‘, beispielsweise mit Funktionen im Sinn der <a href="/wiki/Funktion_(Organisation)" title="Funktion (Organisation)">Organisation</a> oder der <a href="/wiki/Systemtheorie" title="Systemtheorie">Systemtheorie</a> oder mit <a href="/wiki/Funktion_(Objekt)" title="Funktion (Objekt)">Funktion</a> im Sinne von Aufgabe. </p> <div id="toc" class="toc" role="navigation" aria-labelledby="mw-toc-heading"><input type="checkbox" role="button" id="toctogglecheckbox" class="toctogglecheckbox" style="display:none" /><div class="toctitle" lang="de" dir="ltr"><h2 id="mw-toc-heading">Inhaltsverzeichnis</h2><span class="toctogglespan"><label class="toctogglelabel" for="toctogglecheckbox"></label></span></div> <ul> <li class="toclevel-1 tocsection-1"><a href="#Funktionale_Programmierung"><span class="tocnumber">1</span> <span class="toctext">Funktionale Programmierung</span></a> <ul> <li class="toclevel-2 tocsection-2"><a href="#Beispiele"><span class="tocnumber">1.1</span> <span class="toctext">Beispiele</span></a></li> </ul> </li> <li class="toclevel-1 tocsection-3"><a href="#Imperative_Programmierung"><span class="tocnumber">2</span> <span class="toctext">Imperative Programmierung</span></a> <ul> <li class="toclevel-2 tocsection-4"><a href="#Direktes_Verwenden_des_Ergebnisses"><span class="tocnumber">2.1</span> <span class="toctext">Direktes Verwenden des Ergebnisses</span></a></li> <li class="toclevel-2 tocsection-5"><a href="#Beispiele_2"><span class="tocnumber">2.2</span> <span class="toctext">Beispiele</span></a> <ul> <li class="toclevel-3 tocsection-6"><a href="#Pascal"><span class="tocnumber">2.2.1</span> <span class="toctext">Pascal</span></a></li> <li class="toclevel-3 tocsection-7"><a href="#C"><span class="tocnumber">2.2.2</span> <span class="toctext">C</span></a></li> </ul> </li> </ul> </li> <li class="toclevel-1 tocsection-8"><a href="#Automatisierungstechnik:_SPS-Programmierung"><span class="tocnumber">3</span> <span class="toctext">Automatisierungstechnik: SPS-Programmierung</span></a></li> <li class="toclevel-1 tocsection-9"><a href="#Literatur"><span class="tocnumber">4</span> <span class="toctext">Literatur</span></a></li> </ul> </div> <div class="mw-heading mw-heading2"><h2 id="Funktionale_Programmierung">Funktionale Programmierung</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Funktion_(Programmierung)&veaction=edit&section=1" title="Abschnitt bearbeiten: Funktionale Programmierung" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Funktion_(Programmierung)&action=edit&section=1" title="Quellcode des Abschnitts bearbeiten: Funktionale Programmierung"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Das Konzept einer <a href="/wiki/Funktion_(Mathematik)" title="Funktion (Mathematik)">Funktion</a> im Sinne der Mathematik ist in der <a href="/wiki/Funktionale_Programmierung" title="Funktionale Programmierung">funktionalen Programmierung</a> am deutlichsten umgesetzt. Hier stellen Funktionen Abbildungsvorschriften dar. Eine Funktion besteht dann aus einer Reihe von Definitionen, die diese Vorschrift beschreiben. </p> <div class="mw-heading mw-heading3"><h3 id="Beispiele">Beispiele</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Funktion_(Programmierung)&veaction=edit&section=2" title="Abschnitt bearbeiten: Beispiele" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Funktion_(Programmierung)&action=edit&section=2" title="Quellcode des Abschnitts bearbeiten: Beispiele"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>In <a href="/wiki/Haskell_(Programmiersprache)" title="Haskell (Programmiersprache)">Haskell</a> würde man zum Beispiel schreiben: </p> <div class="mw-highlight mw-highlight-lang-haskell mw-content-ltr" dir="ltr"><pre><span></span><span class="w"> </span><span class="n">max</span><span class="w"> </span><span class="ow">::</span><span class="w"> </span><span class="kt">Int</span><span class="w"> </span><span class="ow">-></span><span class="w"> </span><span class="kt">Int</span><span class="w"> </span><span class="ow">-></span><span class="w"> </span><span class="kt">Int</span> <span class="w"> </span><span class="n">max</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="o">></span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="ow">=</span><span class="w"> </span><span class="n">a</span> <span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">otherwise</span><span class="w"> </span><span class="ow">=</span><span class="w"> </span><span class="n">b</span> </pre></div> <p>Diese Schreibweise erinnert an die mathematische Definition des Maximums zweier Zahlen. </p><p>Ein funktionales Programm besteht ausschließlich aus Funktionsdefinitionen und besitzt keine Kontrollstrukturen wie Schleifen. Wichtigstes Hilfsmittel für die funktionale Programmierung ist daher die <a href="/wiki/Rekursion" title="Rekursion">Rekursion</a>. </p><p>Funktionen sind in funktionalen Programmiersprachen Objekte, mit denen wie mit Variablen gearbeitet werden kann. Insbesondere können Funktionen also als <a href="/wiki/Parameter_(Informatik)#Argumente" title="Parameter (Informatik)">Argument</a> oder Rückgabewert einer anderen Funktion auftreten. Man spricht dann von <a href="/wiki/Funktion_h%C3%B6herer_Ordnung" title="Funktion höherer Ordnung">Funktionen höherer Ordnung</a>. Ein Beispiel hierfür ist das <code>map</code>-Funktional: </p> <div class="mw-highlight mw-highlight-lang-haskell mw-content-ltr" dir="ltr"><pre><span></span><span class="w"> </span><span class="n">map</span><span class="w"> </span><span class="ow">::</span><span class="w"> </span><span class="p">(</span><span class="n">a</span><span class="w"> </span><span class="ow">-></span><span class="w"> </span><span class="n">b</span><span class="p">)</span><span class="w"> </span><span class="ow">-></span><span class="w"> </span><span class="p">[</span><span class="n">a</span><span class="p">]</span><span class="w"> </span><span class="ow">-></span><span class="w"> </span><span class="p">[</span><span class="n">b</span><span class="p">]</span> <span class="w"> </span><span class="n">map</span><span class="w"> </span><span class="n">f</span><span class="w"> </span><span class="kt">[]</span><span class="w"> </span><span class="ow">=</span><span class="w"> </span><span class="kt">[]</span> <span class="w"> </span><span class="n">map</span><span class="w"> </span><span class="n">f</span><span class="w"> </span><span class="p">(</span><span class="n">x</span><span class="w"> </span><span class="kt">:</span><span class="w"> </span><span class="n">xs</span><span class="p">)</span><span class="w"> </span><span class="ow">=</span><span class="w"> </span><span class="n">f</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="kt">:</span><span class="w"> </span><span class="n">map</span><span class="w"> </span><span class="n">f</span><span class="w"> </span><span class="n">xs</span> </pre></div> <p><code>map</code> nimmt als Argument eine Funktion von <code>a</code> nach <code>b</code>, wobei <code>a</code> und <code>b</code> beliebige Typen sind (<i>Typvariablen</i>) und liefert als Ergebnis eine neue Funktion, die Listen von <code>a</code> in Listen von <code>b</code> abbildet, indem nämlich <code>f</code> auf jedes Element der Liste angewendet wird. </p> <div class="mw-heading mw-heading2"><h2 id="Imperative_Programmierung">Imperative Programmierung</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Funktion_(Programmierung)&veaction=edit&section=3" title="Abschnitt bearbeiten: Imperative Programmierung" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Funktion_(Programmierung)&action=edit&section=3" title="Quellcode des Abschnitts bearbeiten: Imperative Programmierung"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Zwar dienen auch in der imperativen Programmierung Funktionen im Prinzip dazu, aufgrund einer Reihe von <i>Argumenten</i> ein <i>Resultat</i> zu berechnen, aber durch die Verwendung von <a href="/wiki/Variable_(Programmierung)#Variablen_in_einer_Blockstruktur" title="Variable (Programmierung)">globalen Variablen</a> kann eine Funktion mehr Argumente empfangen, als aus ihrer Argumentliste ersichtlich ist, und kann auf diesem Weg auch mehr als ein Resultat abliefern. Änderungen in den globalen Variablen einer Funktion werden häufig als <i>Nebeneffekt</i> bezeichnet. Damit gerät das Konzept der Funktion in die Nähe der <a href="/wiki/Prozedur_(Programmierung)" title="Prozedur (Programmierung)">Prozedur</a>, bei der solche „Nebenwirkungen“ in Wirklichkeit die beabsichtigten Hauptwirkungen sind (siehe dazu <a href="/wiki/Wirkung_(Informatik)" title="Wirkung (Informatik)">Wirkung in der Informatik</a>). Das führt dazu, dass Programmiersprachen oft eine irreführende Terminologie verwenden: In <a href="/wiki/C_(Programmiersprache)" title="C (Programmiersprache)">C</a> wird beispielsweise generell nur von Funktionen gesprochen; Prozeduren sind dort Funktionen mit dem Rückgabetyp <code>void</code>; in <a href="/wiki/Modula-2" title="Modula-2">Modula-2</a> dagegen werden auch Funktionen mit dem Schlüsselwort <code>procedure</code> definiert. </p> <div class="mw-heading mw-heading3"><h3 id="Direktes_Verwenden_des_Ergebnisses">Direktes Verwenden des Ergebnisses</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Funktion_(Programmierung)&veaction=edit&section=4" title="Abschnitt bearbeiten: Direktes Verwenden des Ergebnisses" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Funktion_(Programmierung)&action=edit&section=4" title="Quellcode des Abschnitts bearbeiten: Direktes Verwenden des Ergebnisses"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Im Gegensatz zu Prozeduren geben Funktionen einen Wert zurück, der direkt verwendet werden kann. Prozeduren, die keinen Rückgabewert haben, können nur indirekt Ergebnisse liefern, indem entweder <a href="/wiki/Referenzparameter" title="Referenzparameter">Referenzparameter</a> oder globale Variablen verändert werden. </p><p> Die Programmiersprache <a href="/wiki/Pascal_(Programmiersprache)" title="Pascal (Programmiersprache)">Pascal</a> bietet eine explizite Unterscheidung für Funktionen und Prozeduren. Eine Funktion <code>increment</code>, welche eine Zahl um eins erhöht, kann folgendermaßen definiert werden:</p><div class="mw-highlight mw-highlight-lang-pascal mw-content-ltr" dir="ltr"><pre><span></span><span class="k">function</span><span class="w"> </span><span class="nf">increment</span><span class="p">(</span><span class="n">variable</span><span class="o">:</span><span class="w"> </span><span class="kt">Integer</span><span class="p">)</span><span class="o">:</span><span class="w"> </span><span class="kt">Integer</span><span class="o">;</span> <span class="k">begin</span> <span class="w"> </span><span class="n">increment</span><span class="w"> </span><span class="o">:=</span><span class="w"> </span><span class="n">variable</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">1</span><span class="o">;</span> <span class="k">end</span><span class="o">;</span> </pre></div><p>Bei einer Prozedur kann das Berechnungsergebnis nur indirekt zurückgegeben werden wie beispielsweise über Referenzparameter.</p><div class="mw-highlight mw-highlight-lang-pascal mw-content-ltr" dir="ltr"><pre><span></span><span class="k">procedure</span><span class="w"> </span><span class="nf">increment</span><span class="p">(</span><span class="n">variable</span><span class="o">:</span><span class="w"> </span><span class="kt">Integer</span><span class="o">,</span><span class="w"> </span><span class="k">var</span><span class="w"> </span><span class="n">reference</span><span class="o">:</span><span class="w"> </span><span class="kt">Integer</span><span class="p">)</span><span class="o">;</span> <span class="k">begin</span> <span class="w"> </span><span class="n">reference</span><span class="w"> </span><span class="o">:=</span><span class="w"> </span><span class="n">variable</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">1</span><span class="o">;</span> <span class="k">end</span><span class="o">;</span> </pre></div><p>Während das Ergebnis bei einem Funktionsaufruf direkt genutzt werden kann, muss das Ergebnis bei einer Prozedur zuerst in einer Variablen gespeichert werden, da die Variable als Parameter übergeben wird.</p><div class="mw-highlight mw-highlight-lang-pascal mw-content-ltr" dir="ltr"><pre><span></span><span class="k">program</span><span class="w"> </span><span class="n">main</span><span class="o">;</span> <span class="k">var</span> <span class="w"> </span><span class="n">variable</span><span class="o">:</span><span class="w"> </span><span class="kt">Integer</span><span class="o">;</span> <span class="k">begin</span> <span class="w"> </span><span class="c1">// Aufruf einer Funktion</span> <span class="w"> </span><span class="nb">writeln</span><span class="p">(</span><span class="n">increment</span><span class="p">(</span><span class="mi">3</span><span class="p">))</span><span class="o">;</span> <span class="w"> </span><span class="c1">// Aufruf einer Prozedur</span> <span class="w"> </span><span class="n">increment</span><span class="p">(</span><span class="mi">3</span><span class="o">,</span><span class="w"> </span><span class="n">variable</span><span class="p">)</span><span class="o">;</span> <span class="w"> </span><span class="nb">writeln</span><span class="p">(</span><span class="n">variable</span><span class="p">)</span><span class="o">;</span> <span class="k">end</span><span class="o">;</span> </pre></div> <div class="mw-heading mw-heading3"><h3 id="Beispiele_2">Beispiele</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Funktion_(Programmierung)&veaction=edit&section=5" title="Abschnitt bearbeiten: Beispiele" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Funktion_(Programmierung)&action=edit&section=5" title="Quellcode des Abschnitts bearbeiten: Beispiele"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading4"><h4 id="Pascal">Pascal</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Funktion_(Programmierung)&veaction=edit&section=6" title="Abschnitt bearbeiten: Pascal" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Funktion_(Programmierung)&action=edit&section=6" title="Quellcode des Abschnitts bearbeiten: Pascal"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><a href="/wiki/Pascal_(Programmiersprache)" title="Pascal (Programmiersprache)">Pascal</a> unterscheidet zwischen Funktionen und Prozeduren: </p> <ul><li>Funktionen werden mit dem Schlüsselwort <code>function</code> deklariert und liefern einen Rückgabewert mit einem definierten Typ. Funktionsaufrufe stehen innerhalb von Ausdrücken. Die Festlegung des Rückgabewerts erfolgt durch eine (Pseudo-)Zuweisung an den Funktionsnamen. Als Nebenwirkung können Funktionen aber den Zustand des Programms verändern, indem nämlich globale Variablen neue Werte erhalten.</li> <li><a href="/wiki/Prozedur_(Programmierung)" title="Prozedur (Programmierung)">Prozeduren</a> werden mit dem Schlüsselwort <code>procedure</code> deklariert und haben keinen definierten Rückgabewert. Ihre Wirkung kann sich deshalb nur in den Änderungen globaler Variablen zeigen.</li></ul> <p>Beispiel einer Funktionsvereinbarung in Pascal: </p> <div class="mw-highlight mw-highlight-lang-pascal mw-content-ltr" dir="ltr"><pre><span></span><span class="k">function</span><span class="w"> </span><span class="nf">summe</span><span class="p">(</span><span class="n">a</span><span class="o">:</span><span class="w"> </span><span class="kt">Integer</span><span class="o">;</span><span class="w"> </span><span class="n">b</span><span class="o">:</span><span class="w"> </span><span class="kt">Integer</span><span class="p">)</span><span class="o">:</span><span class="w"> </span><span class="kt">Integer</span><span class="o">;</span> <span class="k">begin</span> <span class="w"> </span><span class="n">summe</span><span class="w"> </span><span class="o">:=</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">b</span><span class="o">;</span> <span class="k">end</span><span class="o">;</span> </pre></div> <p>Beispiel eines Funktionsaufrufs in Pascal: </p> <div class="mw-highlight mw-highlight-lang-pascal mw-content-ltr" dir="ltr"><pre><span></span><span class="n">ergebnis</span><span class="w"> </span><span class="o">:=</span><span class="w"> </span><span class="n">summe</span><span class="p">(</span><span class="mi">1</span><span class="o">,</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="o">;</span> </pre></div> <p>Funktionen und Prozeduren sind in Pascal im Gegensatz zu C schachtelbar. Dies bedeutet, dass sie weitere Funktionen und Prozeduren enthalten können. </p><p>Argumente werden normalerweise als <a href="/wiki/Wertparameter" title="Wertparameter">Wertparameter</a> übergeben <i>(call / pass by value)</i>. Der Wert einer Variablen, die einer Funktion (oder Prozedur) als Argument übergeben wird, wird durch deren Ausführung nicht verändert. Es ist aber auch möglich, mit dem Schlüsselwort <code>var</code> die Übergabe als <a href="/wiki/Referenzparameter" title="Referenzparameter">Referenz</a> (call by reference) festzulegen. Dadurch wird nicht der Wert einer Variablen übergeben, sondern ihre Adresse. </p> <div class="mw-heading mw-heading4"><h4 id="C">C</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Funktion_(Programmierung)&veaction=edit&section=7" title="Abschnitt bearbeiten: C" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Funktion_(Programmierung)&action=edit&section=7" title="Quellcode des Abschnitts bearbeiten: C"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Argumente werden prinzipiell immer als <a href="/wiki/Wertparameter" title="Wertparameter">Wertparameter</a> übergeben <i>(call / pass by value)</i>. Soll eine übergebene Variable verändert werden, so übergibt man deren Adresse, also einen <a href="/wiki/Zeiger_(Informatik)" title="Zeiger (Informatik)">Pointer</a>. Die Bestimmung des Rückgabewertes geschieht durch eine <code>return</code> Anweisung. Funktionen in C sind nicht schachtelbar. Allerdings liefern einige C-Compiler nicht standardisierte Erweiterungen aus, welche eine Schachtelung ermöglichen. </p><p>Beispiel einer Funktionsvereinbarung in <a href="/wiki/C_(Programmiersprache)" title="C (Programmiersprache)">C</a>: </p> <div class="mw-highlight mw-highlight-lang-c mw-content-ltr" dir="ltr"><pre><span></span><span class="kt">int</span><span class="w"> </span><span class="nf">summe</span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">b</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">b</span><span class="p">;</span> <span class="p">}</span> </pre></div> <p>Beispiel eines Funktionsaufrufs in C: </p> <div class="mw-highlight mw-highlight-lang-c mw-content-ltr" dir="ltr"><pre><span></span><span class="n">ergebnis</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">summe</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">);</span> </pre></div> <div class="mw-heading mw-heading2"><h2 id="Automatisierungstechnik:_SPS-Programmierung">Automatisierungstechnik: SPS-Programmierung</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Funktion_(Programmierung)&veaction=edit&section=8" title="Abschnitt bearbeiten: Automatisierungstechnik: SPS-Programmierung" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Funktion_(Programmierung)&action=edit&section=8" title="Quellcode des Abschnitts bearbeiten: Automatisierungstechnik: SPS-Programmierung"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>In der Automatisierungstechnik werden bei der <a href="/wiki/Speicherprogrammierbare_Steuerung" title="Speicherprogrammierbare Steuerung">SPS</a>-Programmierung <i>Funktionen (FCs)</i> sowie <i><a href="/wiki/Funktionsbausteinsprache" title="Funktionsbausteinsprache">Funktionsbausteine</a> (FBs)</i> als <i>bibliotheksfähige Bausteine</i> verwandt. </p> <div class="mw-heading mw-heading2"><h2 id="Literatur">Literatur</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Funktion_(Programmierung)&veaction=edit&section=9" title="Abschnitt bearbeiten: Literatur" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Funktion_(Programmierung)&action=edit&section=9" title="Quellcode des Abschnitts bearbeiten: Literatur"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li>Siegfried Grohmann, Dirk Papendieck, OStR Peter Westphal-Nagel: <i>Automatisierungstechnik mit Simatic S7. Programmierprojekte für die berufliche Aus- und Weiterbildung.</i> 3., überarbeitete und aktualisierte Auflage, Elektronik-Praktiker-Verlag (EPV), Duderstadt 2009, <a href="/wiki/Spezial:ISBN-Suche/9783936318753" class="internal mw-magiclink-isbn">ISBN 978-3-936318-75-3</a>, 160 Seiten.</li></ul></div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?type=1x1&useformat=desktop" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Abgerufen von „<a dir="ltr" href="https://de.wikipedia.org/w/index.php?title=Funktion_(Programmierung)&oldid=243847620">https://de.wikipedia.org/w/index.php?title=Funktion_(Programmierung)&oldid=243847620</a>“</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Wikipedia:Kategorien" title="Wikipedia:Kategorien">Kategorien</a>: <ul><li><a href="/wiki/Kategorie:Programmierkonzept" title="Kategorie:Programmierkonzept">Programmierkonzept</a></li><li><a href="/wiki/Kategorie:Unterprogramm" title="Kategorie:Unterprogramm">Unterprogramm</a></li><li><a href="/wiki/Kategorie:Programmiersprachelement" title="Kategorie:Programmiersprachelement">Programmiersprachelement</a></li></ul></div></div> </div> </div> <div id="mw-navigation"> <h2>Navigationsmenü</h2> <div id="mw-head"> <nav id="p-personal" class="mw-portlet mw-portlet-personal vector-user-menu-legacy vector-menu" aria-labelledby="p-personal-label" > <h3 id="p-personal-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Meine Werkzeuge</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anonuserpage" class="mw-list-item"><span title="Benutzerseite der IP-Adresse, von der aus du Änderungen durchführst">Nicht angemeldet</span></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Spezial:Meine_Diskussionsseite" title="Diskussion über Änderungen von dieser IP-Adresse [n]" accesskey="n"><span>Diskussionsseite</span></a></li><li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Spezial:Meine_Beitr%C3%A4ge" title="Eine Liste der Bearbeitungen, die von dieser IP-Adresse gemacht wurden [y]" accesskey="y"><span>Beiträge</span></a></li><li id="pt-createaccount" class="mw-list-item"><a href="/w/index.php?title=Spezial:Benutzerkonto_anlegen&returnto=Funktion+%28Programmierung%29" title="Wir ermutigen dich dazu, ein Benutzerkonto zu erstellen und dich anzumelden. Es ist jedoch nicht zwingend erforderlich."><span>Benutzerkonto erstellen</span></a></li><li id="pt-login" class="mw-list-item"><a href="/w/index.php?title=Spezial:Anmelden&returnto=Funktion+%28Programmierung%29" title="Anmelden ist zwar keine Pflicht, wird aber gerne gesehen. [o]" accesskey="o"><span>Anmelden</span></a></li> </ul> </div> </nav> <div id="left-navigation"> <nav id="p-namespaces" class="mw-portlet mw-portlet-namespaces vector-menu-tabs vector-menu-tabs-legacy vector-menu" aria-labelledby="p-namespaces-label" > <h3 id="p-namespaces-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Namensräume</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-main" class="selected mw-list-item"><a href="/wiki/Funktion_(Programmierung)" title="Seiteninhalt anzeigen [c]" accesskey="c"><span>Artikel</span></a></li><li id="ca-talk" class="mw-list-item"><a href="/wiki/Diskussion:Funktion_(Programmierung)" rel="discussion" title="Diskussion zum Seiteninhalt [t]" accesskey="t"><span>Diskussion</span></a></li> </ul> </div> </nav> <nav id="p-variants" class="mw-portlet mw-portlet-variants emptyPortlet vector-menu-dropdown vector-menu" aria-labelledby="p-variants-label" > <input type="checkbox" id="p-variants-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-variants" class="vector-menu-checkbox" aria-labelledby="p-variants-label" > <label id="p-variants-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Deutsch</span> </label> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </nav> </div> <div id="right-navigation"> <nav id="p-views" class="mw-portlet mw-portlet-views vector-menu-tabs vector-menu-tabs-legacy vector-menu" aria-labelledby="p-views-label" > <h3 id="p-views-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Ansichten</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected mw-list-item"><a href="/wiki/Funktion_(Programmierung)"><span>Lesen</span></a></li><li id="ca-ve-edit" class="mw-list-item"><a href="/w/index.php?title=Funktion_(Programmierung)&veaction=edit" title="Diese Seite mit dem VisualEditor bearbeiten [v]" accesskey="v"><span>Bearbeiten</span></a></li><li id="ca-edit" class="collapsible mw-list-item"><a href="/w/index.php?title=Funktion_(Programmierung)&action=edit" title="Den Quelltext dieser Seite bearbeiten [e]" accesskey="e"><span>Quelltext bearbeiten</span></a></li><li id="ca-history" class="mw-list-item"><a href="/w/index.php?title=Funktion_(Programmierung)&action=history" title="Frühere Versionen dieser Seite [h]" accesskey="h"><span>Versionsgeschichte</span></a></li> </ul> </div> </nav> <nav id="p-cactions" class="mw-portlet mw-portlet-cactions emptyPortlet vector-menu-dropdown vector-menu" aria-labelledby="p-cactions-label" title="Weitere Optionen" > <input type="checkbox" id="p-cactions-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-cactions" class="vector-menu-checkbox" aria-labelledby="p-cactions-label" > <label id="p-cactions-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Weitere</span> </label> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </nav> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <h3 >Suche</h3> <form action="/w/index.php" id="searchform" class="vector-search-box-form"> <div id="simpleSearch" class="vector-search-box-inner" data-search-loc="header-navigation"> <input class="vector-search-box-input" type="search" name="search" placeholder="Wikipedia durchsuchen" aria-label="Wikipedia durchsuchen" autocapitalize="sentences" title="Durchsuche die Wikipedia [f]" accesskey="f" id="searchInput" > <input type="hidden" name="title" value="Spezial:Suche"> <input id="mw-searchButton" class="searchButton mw-fallbackSearchButton" type="submit" name="fulltext" title="Suche nach Seiten, die diesen Text enthalten" value="Suchen"> <input id="searchButton" class="searchButton" type="submit" name="go" title="Gehe direkt zu der Seite mit genau diesem Namen, falls sie vorhanden ist." value="Artikel"> </div> </form> </div> </div> </div> <div id="mw-panel" class="vector-legacy-sidebar"> <div id="p-logo" role="banner"> <a class="mw-wiki-logo" href="/wiki/Wikipedia:Hauptseite" title="Hauptseite"></a> </div> <nav id="p-navigation" class="mw-portlet mw-portlet-navigation vector-menu-portal portal vector-menu" aria-labelledby="p-navigation-label" > <h3 id="p-navigation-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Navigation</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Wikipedia:Hauptseite" title="Hauptseite besuchen [z]" accesskey="z"><span>Hauptseite</span></a></li><li id="n-topics" class="mw-list-item"><a href="/wiki/Portal:Wikipedia_nach_Themen"><span>Themenportale</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Spezial:Zuf%C3%A4llige_Seite" title="Zufällige Seite aufrufen [x]" accesskey="x"><span>Zufälliger Artikel</span></a></li> </ul> </div> </nav> <nav id="p-Mitmachen" class="mw-portlet mw-portlet-Mitmachen vector-menu-portal portal vector-menu" aria-labelledby="p-Mitmachen-label" > <h3 id="p-Mitmachen-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Mitmachen</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-Artikel-verbessern" class="mw-list-item"><a href="/wiki/Wikipedia:Beteiligen"><span>Artikel verbessern</span></a></li><li id="n-Neuerartikel" class="mw-list-item"><a href="/wiki/Hilfe:Neuen_Artikel_anlegen"><span>Neuen Artikel anlegen</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikipedia:Autorenportal" title="Info-Zentrum über Beteiligungsmöglichkeiten"><span>Autorenportal</span></a></li><li id="n-help" class="mw-list-item"><a href="/wiki/Hilfe:%C3%9Cbersicht" title="Übersicht über Hilfeseiten"><span>Hilfe</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Spezial:Letzte_%C3%84nderungen" title="Liste der letzten Änderungen in Wikipedia [r]" accesskey="r"><span>Letzte Änderungen</span></a></li><li id="n-contact" class="mw-list-item"><a href="/wiki/Wikipedia:Kontakt" title="Kontaktmöglichkeiten"><span>Kontakt</span></a></li><li id="n-sitesupport" class="mw-list-item"><a href="//donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_de.wikipedia.org&uselang=de" title="Unterstütze uns"><span>Spenden</span></a></li> </ul> </div> </nav> <nav id="p-tb" class="mw-portlet mw-portlet-tb vector-menu-portal portal vector-menu" aria-labelledby="p-tb-label" > <h3 id="p-tb-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Werkzeuge</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Spezial:Linkliste/Funktion_(Programmierung)" title="Liste aller Seiten, die hierher verlinken [j]" accesskey="j"><span>Links auf diese Seite</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Spezial:%C3%84nderungen_an_verlinkten_Seiten/Funktion_(Programmierung)" rel="nofollow" title="Letzte Änderungen an Seiten, die von hier verlinkt sind [k]" accesskey="k"><span>Änderungen an verlinkten Seiten</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/Spezial:Spezialseiten" title="Liste aller Spezialseiten [q]" accesskey="q"><span>Spezialseiten</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=Funktion_(Programmierung)&oldid=243847620" title="Dauerhafter Link zu dieser Seitenversion"><span>Permanenter Link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Funktion_(Programmierung)&action=info" title="Weitere Informationen über diese Seite"><span>Seiteninformationen</span></a></li><li id="t-cite" class="mw-list-item"><a href="/w/index.php?title=Spezial:Zitierhilfe&page=Funktion_%28Programmierung%29&id=243847620&wpFormIdentifier=titleform" title="Hinweise, wie diese Seite zitiert werden kann"><span>Artikel zitieren</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Spezial:URL-K%C3%BCrzung&url=https%3A%2F%2Fde.wikipedia.org%2Fwiki%2FFunktion_%28Programmierung%29"><span>Kurzlink</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Spezial:QrCode&url=https%3A%2F%2Fde.wikipedia.org%2Fwiki%2FFunktion_%28Programmierung%29"><span>QR-Code herunterladen</span></a></li> </ul> </div> </nav> <nav id="p-coll-print_export" class="mw-portlet mw-portlet-coll-print_export vector-menu-portal portal vector-menu" aria-labelledby="p-coll-print_export-label" > <h3 id="p-coll-print_export-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Drucken/exportieren</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Spezial:DownloadAsPdf&page=Funktion_%28Programmierung%29&action=show-download-screen"><span>Als PDF herunterladen</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=Funktion_(Programmierung)&printable=yes" title="Druckansicht dieser Seite [p]" accesskey="p"><span>Druckversion</span></a></li> </ul> </div> </nav> <nav id="p-wikibase-otherprojects" class="mw-portlet mw-portlet-wikibase-otherprojects vector-menu-portal portal vector-menu" aria-labelledby="p-wikibase-otherprojects-label" > <h3 id="p-wikibase-otherprojects-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">In anderen Projekten</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q15810910" title="Link zum verbundenen Objekt im Datenrepositorium [g]" accesskey="g"><span>Wikidata-Datenobjekt</span></a></li> </ul> </div> </nav> <nav id="p-lang" class="mw-portlet mw-portlet-lang vector-menu-portal portal vector-menu" aria-labelledby="p-lang-label" > <h3 id="p-lang-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">In anderen Sprachen</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-da mw-list-item"><a href="https://da.wikipedia.org/wiki/Funktion_(programmering)" title="Funktion (programmering) – Dänisch" lang="da" hreflang="da" data-title="Funktion (programmering)" data-language-autonym="Dansk" data-language-local-name="Dänisch" class="interlanguage-link-target"><span>Dansk</span></a></li><li class="interlanguage-link interwiki-fr badge-Q70893996 mw-list-item" title=""><a href="https://fr.wikipedia.org/wiki/Fonction_informatique" title="Fonction informatique – Französisch" lang="fr" hreflang="fr" data-title="Fonction informatique" data-language-autonym="Français" data-language-local-name="Französisch" class="interlanguage-link-target"><span>Français</span></a></li><li class="interlanguage-link interwiki-it mw-list-item"><a href="https://it.wikipedia.org/wiki/Funzione_(informatica)" title="Funzione (informatica) – Italienisch" lang="it" hreflang="it" data-title="Funzione (informatica)" data-language-autonym="Italiano" data-language-local-name="Italienisch" class="interlanguage-link-target"><span>Italiano</span></a></li><li class="interlanguage-link interwiki-ja badge-Q70894304 mw-list-item" title=""><a href="https://ja.wikipedia.org/wiki/%E9%96%A2%E6%95%B0_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0)" title="関数 (プログラミング) – Japanisch" lang="ja" hreflang="ja" data-title="関数 (プログラミング)" data-language-autonym="日本語" data-language-local-name="Japanisch" class="interlanguage-link-target"><span>日本語</span></a></li><li class="interlanguage-link interwiki-mhr mw-list-item"><a href="https://mhr.wikipedia.org/wiki/%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B9" title="Функций – Ostmari" lang="mhr" hreflang="mhr" data-title="Функций" data-language-autonym="Олык марий" data-language-local-name="Ostmari" class="interlanguage-link-target"><span>Олык марий</span></a></li><li class="interlanguage-link interwiki-no mw-list-item"><a href="https://no.wikipedia.org/wiki/Funksjon_(programmering)" title="Funksjon (programmering) – Norwegisch (Bokmål)" lang="nb" hreflang="nb" data-title="Funksjon (programmering)" data-language-autonym="Norsk bokmål" data-language-local-name="Norwegisch (Bokmål)" class="interlanguage-link-target"><span>Norsk bokmål</span></a></li><li class="interlanguage-link interwiki-ru mw-list-item"><a href="https://ru.wikipedia.org/wiki/%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)" title="Функция (программирование) – Russisch" lang="ru" hreflang="ru" data-title="Функция (программирование)" data-language-autonym="Русский" data-language-local-name="Russisch" class="interlanguage-link-target"><span>Русский</span></a></li><li class="interlanguage-link interwiki-sh badge-Q70893996 mw-list-item" title=""><a href="https://sh.wikipedia.org/wiki/%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%98%D0%B0_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%B8%D1%80%D0%B0%D1%9A%D0%B5)" title="Функција (програмирање) – Serbokroatisch" lang="sh" hreflang="sh" data-title="Функција (програмирање)" data-language-autonym="Srpskohrvatski / српскохрватски" data-language-local-name="Serbokroatisch" class="interlanguage-link-target"><span>Srpskohrvatski / српскохрватски</span></a></li><li class="interlanguage-link interwiki-sr mw-list-item"><a href="https://sr.wikipedia.org/wiki/%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%98%D0%B0_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%B8%D1%80%D0%B0%D1%9A%D0%B5)" title="Функција (програмирање) – Serbisch" lang="sr" hreflang="sr" data-title="Функција (програмирање)" data-language-autonym="Српски / srpski" data-language-local-name="Serbisch" class="interlanguage-link-target"><span>Српски / srpski</span></a></li><li class="interlanguage-link interwiki-sv mw-list-item"><a href="https://sv.wikipedia.org/wiki/Funktion_(programmering)" title="Funktion (programmering) – Schwedisch" lang="sv" hreflang="sv" data-title="Funktion (programmering)" data-language-autonym="Svenska" data-language-local-name="Schwedisch" class="interlanguage-link-target"><span>Svenska</span></a></li><li class="interlanguage-link interwiki-tr mw-list-item"><a href="https://tr.wikipedia.org/wiki/Fonksiyon_(programlama)" title="Fonksiyon (programlama) – Türkisch" lang="tr" hreflang="tr" data-title="Fonksiyon (programlama)" data-language-autonym="Türkçe" data-language-local-name="Türkisch" class="interlanguage-link-target"><span>Türkçe</span></a></li> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q15810910#sitelinks-wikipedia" title="Links auf Artikel in anderen Sprachen bearbeiten" class="wbc-editpage">Links bearbeiten</a></span></div> </div> </nav> </div> </div> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> Diese Seite wurde zuletzt am 7. April 2024 um 14:31 Uhr bearbeitet.</li> <li id="footer-info-copyright"><div id="footer-info-copyright-stats" class="noprint"><a rel="nofollow" class="external text" href="https://pageviews.wmcloud.org/?pages=Funktion_(Programmierung)&project=de.wikipedia.org">Abrufstatistik</a> · <a rel="nofollow" class="external text" href="https://xtools.wmcloud.org/authorship/de.wikipedia.org/Funktion_(Programmierung)?uselang=de">Autoren</a> </div><div id="footer-info-copyright-separator"><br /></div><div id="footer-info-copyright-info"> <p>Der Text ist unter der Lizenz <a rel="nofollow" class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de">„Creative-Commons Namensnennung – Weitergabe unter gleichen Bedingungen“</a> verfügbar; Informationen zu den Urhebern und zum Lizenzstatus eingebundener Mediendateien (etwa Bilder oder Videos) können im Regelfall durch Anklicken dieser abgerufen werden. Möglicherweise unterliegen die Inhalte jeweils zusätzlichen Bedingungen. Durch die Nutzung dieser Website erklären Sie sich mit den <span class="plainlinks"><a class="external text" href="https://foundation.wikimedia.org/wiki/Policy:Terms_of_Use/de">Nutzungsbedingungen</a> und der <a class="external text" href="https://foundation.wikimedia.org/wiki/Policy:Privacy_policy/de">Datenschutzrichtlinie</a></span> einverstanden.<br /> </p> Wikipedia® ist eine eingetragene Marke der Wikimedia Foundation Inc.</div></li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy/de">Datenschutz</a></li> <li id="footer-places-about"><a href="/wiki/Wikipedia:%C3%9Cber_Wikipedia">Über Wikipedia</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikipedia:Impressum">Impressum</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Verhaltenskodex</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Entwickler</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/de.wikipedia.org">Statistiken</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Stellungnahme zu Cookies</a></li> <li id="footer-places-mobileview"><a href="//de.m.wikipedia.org/w/index.php?title=Funktion_(Programmierung)&mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile Ansicht</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/static/images/footer/wikimedia-button.svg" width="84" height="29" alt="Wikimedia Foundation" loading="lazy"></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/w/resources/assets/poweredby_mediawiki.svg" alt="Powered by MediaWiki" width="88" height="31" loading="lazy"></a></li> </ul> </footer> <script>(RLQ=window.RLQ||[]).push(function(){mw.log.warn("This page is using the deprecated ResourceLoader module \"codex-search-styles\".\n[1.43] Use a CodexModule with codexComponents to set your specific components used: https://www.mediawiki.org/wiki/Codex#Using_a_limited_subset_of_components");mw.config.set({"wgHostname":"mw-web.codfw.main-5c59558b9d-n9gqv","wgBackendResponseTime":121,"wgPageParseReport":{"limitreport":{"cputime":"0.055","walltime":"0.682","ppvisitednodes":{"value":126,"limit":1000000},"postexpandincludesize":{"value":310,"limit":2097152},"templateargumentsize":{"value":0,"limit":2097152},"expansiondepth":{"value":3,"limit":100},"expensivefunctioncount":{"value":9,"limit":500},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":8629,"limit":5000000},"entityaccesscount":{"value":0,"limit":400},"timingprofile":["100.00% 24.516 1 Vorlage:EnS","100.00% 24.516 1 -total"]},"scribunto":{"limitreport-timeusage":{"value":"0.007","limit":"10.000"},"limitreport-memusage":{"value":923332,"limit":52428800}},"cachereport":{"origin":"mw-web.eqiad.main-5484c6d78d-q2rwd","timestamp":"20241111182127","ttl":2592000,"transientcontent":false}}});});</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Article","name":"Funktion (Programmierung)","url":"https:\/\/de.wikipedia.org\/wiki\/Funktion_(Programmierung)","sameAs":"http:\/\/www.wikidata.org\/entity\/Q15810910","mainEntity":"http:\/\/www.wikidata.org\/entity\/Q15810910","author":{"@type":"Organization","name":"Autoren der Wikimedia-Projekte"},"publisher":{"@type":"Organization","name":"Wikimedia Foundation, Inc.","logo":{"@type":"ImageObject","url":"https:\/\/www.wikimedia.org\/static\/images\/wmf-hor-googpub.png"}},"datePublished":"2004-03-17T21:23:25Z","headline":"Begriff aus der Programmierung"}</script> </body> </html>