{"id":1940,"date":"2010-11-06T13:52:34","date_gmt":"2010-11-06T11:52:34","guid":{"rendered":"http:\/\/www.final-memory.org\/?page_id=1940"},"modified":"2010-11-06T15:02:45","modified_gmt":"2010-11-06T13:02:45","slug":"wissenssammlung-ansi-c","status":"publish","type":"page","link":"https:\/\/www.final-memory.org\/?page_id=1940","title":{"rendered":"Wissenssammlung ANSI C"},"content":{"rendered":"<p>Zur Programmierung mit ANSI C habe ich hier eine kleine Wissenssammlung zusammengestellt. Meist handelt es sich um Schnipsel oder kurze Ideen.<\/p>\n<p>Ziel soll es sein, Techniken und Tricks pr\u00e4gnant zu sammeln.<\/p>\n<p>Vorschl\u00e4ge zur Erweiterung der Seite nehme ich gerne per E-Mail an <a href=\"mailto:marndt@asmsoftware.de\">marndt@asmsoftware.de<\/a> entgegen,<\/p>\n<h3>Einfache Funktionszeiger auf Funktionen ohne Parameter und ohne R\u00fcckgabewerte<\/h3>\n<p>Diese Technik kann z.B. gut f\u00fcr Callbackfunktionen oder zur Umsetzung dynmaischer Listen von Tasks in Embedded Systems genutzt werden. Ein einfacher Beispielcode:<\/p>\n<pre style=\"font-size: 0,7em\">\/*\r\n* Funktionszeiger in C ausprobieren\r\n*\/\r\n\r\n#include &lt;stdio.h&gt;\r\n\r\n\/* Typdefinition Zeiger auf Funktion vom Typ void ohne Parameter *\/\r\ntypedef void (*funcptr_t)(void);\r\n\r\nvoid fkt_a(void)\r\n{\r\nputs(\"Fkt_a\\r\\n\");\r\nreturn;\r\n}\r\n\r\nvoid fkt_b(void)\r\n{\r\nputs(\"Fkt_b\\r\\n\");\r\nreturn;\r\n}\r\n\r\nint main()\r\n{\r\nfuncptr_t a,b;\r\n\r\n\/* Funktionszeiger zuweisen - welche Funktion soll aufgerufen werden? *\/\r\na = fkt_b;\r\nb = fkt_a;\r\n\r\n\/* zugewiesene Funktionen ausf\u00fchren *\/\r\na();\r\nb();\r\n\r\nreturn(0);\r\n}<\/pre>\n<div id=\"facebook_like\"><iframe src=\"http:\/\/www.facebook.com\/plugins\/like.php?href=https%3A%2F%2Fwww.final-memory.org%2F%3Fpage_id%3D1940&amp;layout=standard&amp;show_faces=true&amp;width=500&amp;action=like&amp;font=segoe+ui&amp;colorscheme=light&amp;height=80\" scrolling=\"no\" frameborder=\"0\" style=\"border:none; overflow:hidden; width:500px; height:80px;\" allowTransparency=\"true\"><\/iframe><\/div>","protected":false},"excerpt":{"rendered":"<p>Zur Programmierung mit ANSI C habe ich hier eine kleine Wissenssammlung zusammengestellt. Meist handelt es sich um Schnipsel oder kurze Ideen. Ziel soll es sein, Techniken und Tricks pr\u00e4gnant zu sammeln. Vorschl\u00e4ge zur Erweiterung der Seite nehme ich gerne per E-Mail an marndt@asmsoftware.de entgegen, Einfache Funktionszeiger auf Funktionen ohne Parameter und ohne R\u00fcckgabewerte Diese Technik &hellip; <a href=\"https:\/\/www.final-memory.org\/?page_id=1940\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Wissenssammlung ANSI C&#8221;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"parent":79,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":{"footnotes":""},"class_list":["post-1940","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.final-memory.org\/index.php?rest_route=\/wp\/v2\/pages\/1940","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.final-memory.org\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.final-memory.org\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.final-memory.org\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.final-memory.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1940"}],"version-history":[{"count":7,"href":"https:\/\/www.final-memory.org\/index.php?rest_route=\/wp\/v2\/pages\/1940\/revisions"}],"predecessor-version":[{"id":1943,"href":"https:\/\/www.final-memory.org\/index.php?rest_route=\/wp\/v2\/pages\/1940\/revisions\/1943"}],"up":[{"embeddable":true,"href":"https:\/\/www.final-memory.org\/index.php?rest_route=\/wp\/v2\/pages\/79"}],"wp:attachment":[{"href":"https:\/\/www.final-memory.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1940"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}