summaryrefslogtreecommitdiffstats
path: root/hw1/basic-array2.c
diff options
context:
space:
mode:
authorLAN-TW <lantw44@gmail.com>2013-10-23 02:07:30 +0800
committerLAN-TW <lantw44@gmail.com>2013-10-23 02:07:30 +0800
commit0cd8997ea2de12bf7da2cabc6956f4a008e18c7c (patch)
tree5ecf5e84e13abecbdeb491e4ba256aa252d9a2a9 /hw1/basic-array2.c
parenta490b98a996d16aa9544f7144e02034c04c50f59 (diff)
downloadcn2013-0cd8997ea2de12bf7da2cabc6956f4a008e18c7c.tar.gz
cn2013-0cd8997ea2de12bf7da2cabc6956f4a008e18c7c.tar.zst
cn2013-0cd8997ea2de12bf7da2cabc6956f4a008e18c7c.zip
HW1: 加入使用者身份相關內容
Diffstat (limited to 'hw1/basic-array2.c')
-rw-r--r--hw1/basic-array2.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/hw1/basic-array2.c b/hw1/basic-array2.c
new file mode 100644
index 0000000..848ec67
--- /dev/null
+++ b/hw1/basic-array2.c
@@ -0,0 +1,27 @@
+#include "xwrap.h"
+#include <stdlib.h>
+#include "basic-array.h"
+
+ArrayTwo* array_two_create(int itemsize, int lenx, int leny){
+ if(lenx <= 0 || leny <= 0 || itemsize <= 0){
+ return NULL;
+ }
+ ArrayTwo* arr = (ArrayTwo*)xmalloc(sizeof(ArrayTwo));
+ if(arr == NULL){
+ return NULL;
+ }
+ arr->arr_itemsize = itemsize;
+ arr->arr_lenx = lenx;
+ arr->arr_leny = leny;
+ arr->arr_data = xmalloc(itemsize*lenx*leny);
+ if(arr->arr_data == NULL){
+ free(arr);
+ return NULL;
+ }
+ return arr;
+}
+
+void array_two_free(ArrayTwo* arr){
+ free(arr->arr_data);
+ free(arr);
+}