summaryrefslogtreecommitdiff
path: root/Examples/d/funcptr/example.c
diff options
context:
space:
mode:
Diffstat (limited to 'Examples/d/funcptr/example.c')
-rw-r--r--Examples/d/funcptr/example.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/Examples/d/funcptr/example.c b/Examples/d/funcptr/example.c
new file mode 100644
index 000000000..5c4a3dabf
--- /dev/null
+++ b/Examples/d/funcptr/example.c
@@ -0,0 +1,19 @@
+/* File : example.c */
+
+int do_op(int a, int b, int (*op)(int,int)) {
+ return (*op)(a,b);
+}
+
+int add(int a, int b) {
+ return a+b;
+}
+
+int sub(int a, int b) {
+ return a-b;
+}
+
+int mul(int a, int b) {
+ return a*b;
+}
+
+int (*funcvar)(int,int) = add;