diff --git a/stack.c b/stack.c
new file mode 100644
index 0000000000000000000000000000000000000000..80fba9ad379a367b60ee3131339b9b0258ea9ae9
--- /dev/null
+++ b/stack.c
@@ -0,0 +1,8 @@
+#include <stdio.h>
+#include "stack.h"
+
+void peek(stack s, int *value){
+    if(s.top>-1 && s.top<s.capacity){
+        *value=s.data[s.top];
+    }
+}
\ No newline at end of file
diff --git a/stack.h b/stack.h
index 9796be5f47ab539a622deaa3bf8b563157b7c7ab..df1b0d0e4c81cacfa7b515951dd9eee5a5daa895 100644
--- a/stack.h
+++ b/stack.h
@@ -7,4 +7,6 @@ typedef struct _stack {
     int top;
 } stack;
 
+void peek(stack s, int *value);
+
 #endif