diff --git a/c/swap.c b/c/swap.c
new file mode 100644
index 0000000..657ae9d
--- /dev/null
+++ b/c/swap.c
@@ -0,0 +1,27 @@
+#include "swap.h"
+
+#include <stdlib.h>
+#include <string.h>
+
+void swap_loop(char* restrict a, char* restrict b, size_t len) {
+    while (len--) {
+        char tmp = *a;
+        *a++     = *b;
+        *b++     = tmp;
+    };
+}
+
+void swap_malloc(char* restrict a, char* restrict b, size_t len) {
+    char *temp = malloc(len);
+    memmove(temp,a,len);
+    memmove(a,b,len);
+    memmove(b,temp,len);
+    free(temp);
+}
+
+void swap_alloca(char* restrict a, char* restrict b, size_t len) {
+    char temp[len];
+    memmove(temp,a,len);
+    memmove(a,b,len);
+    memmove(b,temp,len);
+}
diff --git a/c/swap.h b/c/swap.h
new file mode 100644
index 0000000..f24d2fe
--- /dev/null
+++ b/c/swap.h
@@ -0,0 +1,5 @@
+#include <stddef.h>
+
+void swap_loop(char* restrict a, char* restrict b, size_t len);
+void swap_malloc(char* restrict a, char* restrict b, size_t len);
+void swap_alloca(char* restrict a, char* restrict b, size_t len);
